jQuery Selector无法正常工作

eid*_*lon 3 jquery jquery-selectors

好吧,我无法弄清楚我在这里做错了什么......

拿下面的jQuery选择器......

$('tr[batchid]:has(span.chkselb input:checked) span[id=assetcount]')
Run Code Online (Sandbox Code Playgroud)

这返回2个元素.然而,如果我做以下选择器:

$('tr[batchid]:has(span.chkselb input:checked) span#assetcount')
Run Code Online (Sandbox Code Playgroud)

这返回0个元素.这两个选择器不是所有意图和目的都相同吗?
或者与":has"运算符有什么奇怪的交互?我得到它与第一个声明,但我真的很好奇为什么第二个(我的原始选择器)不起作用.任何见解?

Gre*_*reg 6

$('tr[batchid]:has(span.chkselb input:checked) span[id=assetcount]') 不应该返回两个元素,因为ID必须是唯一的.

这告诉我你正在重新使用ID,我猜你使用的第一个不匹配,tr[batchid]:has(span.chkselb input:checked)所以第二个选择器不会返回任何行.

您应该使ID唯一.