怎么样才能js 获取id或class文字,并点击到锚点 100
<divclass="xtitle">标题一</div>文字内容<divclass="xtitle">标题二</div>文字内容<divclass="xtitle">标题...
<div class="xtitle">标题一</div>
文字内容
<div class="xtitle">标题二</div>
文字内容
<div class="xtitle">标题三</div>
文字内容
就是这样子,如何用js,获取标题,列出标题,点击就到这个锚点了?100分,万分感谢。
检测id或class都可以.. 展开
文字内容
<div class="xtitle">标题二</div>
文字内容
<div class="xtitle">标题三</div>
文字内容
就是这样子,如何用js,获取标题,列出标题,点击就到这个锚点了?100分,万分感谢。
检测id或class都可以.. 展开
4个回答
展开全部
获取元素没问题吧。获取元素还是class来得快,用id,如果是你说的上千个文档,那是不现实的。
滚动也不难。
1 如果是id,可以直接用js取出来id,然后使用
window.location = window.location+'#获取到的ID'
这样滚动到锚点。
2 如果是class,那就用
var l = document.getElementsByClassName('类名称');
for(var i=0;i<l.length;i++){
if(!l[i].id) {
l[i].setAttribute('id', 'mark'+i);
}
}
也就是先获取到所有的class元素,再给没有id属性的元素添加一个id,最后执行1的操作就可以了。
追问
就是想做百度百科那样的页面,主要内容手动编辑,旁边目录js自动生成.点击到标题文字处。能有一个完整小例子吗?谢谢,懂点了不完全明白,标题类名是固定的一个,id也可以固定id1,id2,id3。
追答
附件一直上传失败,你加群153445235发给你
2014-09-09
展开全部
如果你要的效果是点:标题n,就貌跳到 标题n 对应那段文字的话,貌似html锚链接就可以做到
追问
如果有一千个文档,每个文档有十几个标题。工作量得多大,就是要用js节省工作量啊。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先改造html:
<div class="xtitle" href="#id">标题一</div>
<div id="id">文字内容</div>
<div class="xtitle" href="#id2">标题二</div>
<div id="id2">文字内容</div>
<div class="xtitle" href="#id3">标题三</div>
<div id="id3">文字内容</div>
然后js绑定事件:
document.addEventListener('click', function(e) {
var tar = e.target,
cls = tar.className;
if (cls.indexOf('xtitle') > -1) {
document.title = tar.innerHTML;
location.href = tar.getAttribute('href');
}
}, false)
<div class="xtitle" href="#id">标题一</div>
<div id="id">文字内容</div>
<div class="xtitle" href="#id2">标题二</div>
<div id="id2">文字内容</div>
<div class="xtitle" href="#id3">标题三</div>
<div id="id3">文字内容</div>
然后js绑定事件:
document.addEventListener('click', function(e) {
var tar = e.target,
cls = tar.className;
if (cls.indexOf('xtitle') > -1) {
document.title = tar.innerHTML;
location.href = tar.getAttribute('href');
}
}, false)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.如果是id
固定语句:document.getElementById('id名称');
2.如果是class
document.getElementByClassName('类名称');
3.如果是数组
document.getElementsByTagName('数组标签');
固定语句:document.getElementById('id名称');
2.如果是class
document.getElementByClassName('类名称');
3.如果是数组
document.getElementsByTagName('数组标签');
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询