js获取id号和class类名的区别

在很多时候我们用的都是js来取得id的号:用document.getElementById("id")这样,如果是取得class类名呢,怎么用写呢,谢谢了!... 在很多时候我们用的都是js来取得id的号:用document.getElementById("id")这样,如果是取得class类名呢,怎么用写呢,谢谢了! 展开
 我来答
百度网友2571d37bb
推荐于2017-09-29 · 知道合伙人软件行家
百度网友2571d37bb
知道合伙人软件行家
采纳数:1971 获赞数:7905
前端工程师

向TA提问 私信TA
展开全部

原生JS通过id和class获取元素是用,document.getElementById(IDname),document.getElementsByClassName('ClassName');

  1. 兼容性:ID兼容,class 不兼容IE6,7,8

  2. 数量: 通过ID只能获取一个dom元素,通过class可以获取一组元素。

  3. 通用性:ID不能重复,class可以重复,所以class比较好用,这也是jQuery能被广泛应该的原因(选择器好)。

碧血玉叶花
2015-08-07 · TA获得超过4976个赞
知道大有可为答主
回答量:6154
采纳率:0%
帮助的人:1665万
展开全部
获取元素还是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的操作就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无意买东西K
2009-06-17 · TA获得超过124个赞
知道答主
回答量:49
采纳率:0%
帮助的人:25.3万
展开全部
这要用到框架了 prototype就有这样的方法 getElementsByClassName()
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bigkai13
2009-06-17 · TA获得超过144个赞
知道答主
回答量:106
采纳率:0%
帮助的人:0
展开全部
document.getElementsByTagName("class")
返回的是一个数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式