有两个div标签,且两个div的ID相同,请教如何获取第二个标签,每次获取的都是第一个,碰到这种棘手的问题,必须两个ID相同。(也不可以动态添加name等属性区分,都是从后台一起调用出来的=_=),可以利用选择器之类的实现吗,谢谢哒~
有两个div标签,且两个div的ID相同,请教如何获取第二个标签,每次获取的都是第一个,碰到这种棘手的问题,必须两个ID相同。(也不可以动态添加name等属性区分,都是从后台一起调用出来的=_=),可以利用选择器之类的实现吗,谢谢哒~
ID本身的唯一性与特殊性就注定他不可重复。
放demo出来。我不相信什么情况下必须要使用两个ID还不能添加自定义属性。另外如果是后台调用的数据,你也可以再处理下。如果后台返回的是html结构。。。
class类选择器肯定行啊,我不清楚你为什么要有两个相同的id,ID是指唯一的标示。你要选择第二个,直接document.getElementsByClassName(".类名")[1];就可以了
首先,还是不要用相同id。
//第一行改为你自己的dom结构的选取方式。
var elDivs = document.getElementsByTagName('div');
var elDiv = null;
var chooseId = 'test';
var chooseNth = 2;
var nth = 1;
for(var i = 0 ;i<elDivs.length;i++){
if(elDivs[i].id==chooseId&&nth==chooseNth){
elDiv=elDivs[i];
break;
}else{
nth++
}
}
console.log(elDiv);
10 回答11.6k 阅读
2 回答3.1k 阅读✓ 已解决
5 回答2.2k 阅读
3 回答2.7k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
如果你能控制这段html的内容,用class而不是id。我想不出用不了class的情况。
如果你不能控制html的内容,可以用以下代码(假定ID为'sameId')