html需要调用js中同一个id两次,显然ID是唯一的,所以用class代替时,getElementBy应该怎么办?

 我来答
百度网友d9ac3fb66
推荐于2016-03-27 · TA获得超过1282个赞
知道小有建树答主
回答量:538
采纳率:0%
帮助的人:589万
展开全部
  1. 你可以给两个元素设置一个相同值得name属性,然后用getElementByName("nameValue")方法返回一数组,数组会包含那两个相同name值的元素对象。

    之后可以用for语句遍历数组,处理那两个元素对象。

  2. 还有一种方法是给那两个元素设置相同的class值;

    再封装一个函数,先获取那两个对象的父级对象,再遍历该父级的所有后代,用if判断className为你设置的class值时,将其压入一个创建的数组中,最后返回该数组。

    之后同样可以用for语句遍历返回的数组,处理那两个元素对象。

  3. 还有也可以就给两个元素不同的id值,而将它们的处理代码块封装成一个函数,再将获取的两个元素对象分别调用该函数。

花花浪客
2013-04-24 · TA获得超过2069个赞
知道小有建树答主
回答量:792
采纳率:100%
帮助的人:707万
展开全部
可以实现一个自己的getElementByClass。如果每个元素只设置一个class的话,那么很简单
document.getElementByClass = function(n) {
var el = [],
_el = document.getElementsByTagName('*');
for (var i=0; i<_el.length; i++ ) {

if (_el[i].className == n ) {
el[el.length] = _el[i];
}
}
return el;
}
使用方法就跟getElementByTag类似。

如果元素会有多个class的话要稍微复杂点,可以参考上面的例子修改。或者看看这里:
http://stackoverflow.com/questions/1933602/how-to-getelementbyclass-instead-of-getelementbyid-with-javascript
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-25
展开全部
如果想简单,就用jquery吧,$(".className")就得到jquery对象了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
简讯快递
2013-04-24 · TA获得超过1202个赞
知道小有建树答主
回答量:1926
采纳率:33%
帮助的人:505万
展开全部
自己实现
document.getElementByClass = function(n) {
var el = [],
_el = document.getElementsByTagName('*');
for (var i=0; i<_el.length; i++ ) {

if (_el[i].className == n ) {
el[el.length] = _el[i];
}
}
return el;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式