js获取id号和class类名的区别
在很多时候我们用的都是js来取得id的号:用document.getElementById("id")这样,如果是取得class类名呢,怎么用写呢,谢谢了!...
在很多时候我们用的都是js来取得id的号:用document.getElementById("id")这样,如果是取得class类名呢,怎么用写呢,谢谢了!
展开
4个回答
展开全部
原生JS通过id和class获取元素是用,document.getElementById(IDname),document.getElementsByClassName('ClassName');
兼容性:ID兼容,class 不兼容IE6,7,8
数量: 通过ID只能获取一个dom元素,通过class可以获取一组元素。
通用性:ID不能重复,class可以重复,所以class比较好用,这也是jQuery能被广泛应该的原因(选择器好)。
展开全部
获取元素还是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的操作就可以了。
滚动也不难。
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的操作就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这要用到框架了 prototype就有这样的方法 getElementsByClassName()
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
document.getElementsByTagName("class")
返回的是一个数组
返回的是一个数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询