jquery的$.contains

html:<divid="box"><spanid="box"></span><spanid="pox"></span></div>jquery:alert($.cont... html:
<div id="box">
<span id="box"></span>
<span id="pox"></span>
</div>
jquery:

alert($.contains($('#box').get(0), $('#pox').get(0)));

输出true。
id="pox"不是在第二个span的吗,那么 $('#pox').get(0)不是应该改成 $('#pox').get(1)么?这到底是怎么回事啊
把上面的 <span id="box"></span>改成<span id="cox"></span>,免得大神的你们从id方面解答。
id="pox"不是在第二个span的吗,那么 $('#pox').get(0)不是应该改成 $('#pox').get(1)么?这到底是怎么回事啊
展开
 我来答
xuebaotuxi
推荐于2016-01-13 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4196
采纳率:85%
帮助的人:1055万
展开全部
亲,html元素的id是唯一确定,几个元素不能起同一个id名称,这么做是错误的,你这么做
alert($.contains($('#box').get(0), $('#pox').get(0)));浏览器解析成$('#box')---id为#box的div,get(0)将jquery对象转化为dom对象,因为只有一个,得到的还是外层的这个div,而 $('#pox').get(0))是包含在这个div里面,当然输出的是true了
追问
你再试试。这个问题你就算把id该成唯一了,结果还是一样。你再试试。
追答
那么 $('#pox').get(0)不是应该改成 $('#pox').get(1)么?

$("#pox")只有一个,那就是第二个span的哪来的get(1),选择器你都没弄明白
$("#box span").get(0)(等价于:$("#cox").get(0))---------第一个span的dom对象
$("#box span").get(1)(等价于:$("#pox").get(0))---------第二个span的dom对象

----记住id选择器选出来的就是这个id所在的那个元素,要转化成dom对象就.get(0),索引取第一个也只能是第一个,因为id选择器取出的不可能是一组元素
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式