好的,我无法弄清楚我在这里做错了什么......
采用以下jQuery选择器...
$('tr[batchid]:has(span.chkselb input:checked) span[id=assetcount]')
这会返回2个元素。然而,如果我做以下选择器:
$('tr[batchid]:has(span.chkselb input:checked) span#assetcount')
返回0个元素。这两个选择器不是所有意图和目的都相同吗? 或者与“:has”运算符有什么奇怪的交互?我得到它与第一个声明,但我真的很好奇为什么第二个(我的原始选择器)不起作用。任何见解?
答案 0 :(得分:6)
$('tr[batchid]:has(span.chkselb input:checked) span[id=assetcount]')
不应返回两个元素,因为ID必须是唯一的。
这告诉我您正在重新使用ID,我猜您使用的第一个ID与tr[batchid]:has(span.chkselb input:checked)
不匹配,因此第二个选择器不会返回任何行。
您应该使ID唯一。