当有多个具有相同“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 关注
- 1266 浏览
添加回答
举报
0/150
提交
取消