當有多個具有相同“id”的元素時,jQuery如何工作?我從Google的AdWords網站上獲取數據,該網站包含多個相同的元素id。你能否解釋為什么以下3個查詢不能得到相同的答案(2)?現場演示HTML:<div>
<span id="a">1</span>
<span id="a">2</span>
<span>3</span></div>JS:$(function() {
var w = $("div");
console.log($("#a").length); // 1 - Why?
console.log($("body #a").length); // 2
console.log($("#a", w).length); // 2
});
3 回答

喵喔喔
TA貢獻1735條經驗 獲得超5個贊
jQuery的id
選擇器只返回一個結果。第二和第三語句中的descendant
和multiple
選擇器旨在選擇多個元素。它類似于:
聲明1
var length = document.getElementById('a').length;
......產生一個結果。
聲明2
var length = 0;for (i=0; i<document.body.childNodes.length; i++) { if (document.body.childNodes.item(i).id == 'a') { length++; }}
......產生兩個結果。
聲明3
var length = document.getElementById('a').length + document.getElementsByTagName('div').length;
......還得出兩個結果。
- 3 回答
- 0 關注
- 1303 瀏覽
添加回答
舉報
0/150
提交
取消