JS中如何获取ID相同的标签元素集合,效率高点的

JavaScript019

JS中如何获取ID相同的标签元素集合,效率高点的,第1张

按规范来说,最好不要有相同ID的情况出现,按你问题的描述,最好的办法就是用jQuery实现,代码大致如下:

$("#lblelID").each(function(){})

获取的是jQuery对象,然后调用each方法遍历就可以,不会出现死循环的情形。

下面例子通过document.getElementsByClassName("class1")获取所有同一class的元素,使用for循环把取得的div元素的值存入数组arr中,完成的代码如下:

运行结果,打印数组如下:

扩展资料:

js或jQuery获取html元素的值的常用方法:

例如:<div id="aa">值</div>

js写法:

alert(document.getElementById('aa').innerHTML)

jQuery写法:

alert($('#aa').html())

说明如下:

innerHTML是取元素的内部html代码,此例中即div内部的所有html代码。

html()方法作用也是取dom节点的内部html内容,是jQuery中的函数方法。

var list = [

{ id: "1", name: "test1", rName: "the1" },

{ id: "1", name: "test1", rName: "the2" },

{ id: "1", name: "test1", rName: "the3" },

{ id: "2", name: "test2", rName: "the1" },

{ id: "2", name: "test2", rName: "the2" },

{ id: "3", name: "test3", rName: "the1" }

]

var list2 = []

for (var i in list) {

var list3 = []

for (var j in list) {

if (list[i].id == list[j].id&&list[j].key!=1) {

list[j].key=1

list3.push(list[j])

}

}

if(list3.length>0){

list2.push(list3)

}

}

console.log(list2)