为了账号安全,请及时绑定邮箱和手机立即绑定

当有多个具有相同“id”的元素时,jQuery如何工作?

当有多个具有相同“id”的元素时,jQuery如何工作?

智慧大石 2019-07-30 16:39:21
当有多个具有相同“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选择器只返回一个结果。第二和第三语句中的descendantmultiple选择器旨在选择多个元素。它类似于:

声明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;

......还得出两个结果。


查看完整回答
反对 回复 2019-07-30
  • 3 回答
  • 0 关注
  • 1223 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信