我想在<td role="foo" class="one two three four">
<div id="myid">
这两个选择器有效:
$('#myid td[role=foo]')
$('#myid .two')
但这个没有,为什么?
$('#myid .two td[role=foo]')
答案 0 :(得分:13)
因为选择器字符串is a descendant-selector中的空格。
您需要这样做:
$('#myid td.two[role=foo]')
您使用它的方式是,您正在搜索<td role="foo">
的后代的.two
元素。
答案 1 :(得分:2)
因为你的选择器:
$('#myid .two td[role=foo]')
正在中<{1}} 中的td[role=foo]
元素.two
。 >
你正在使用后代选择器,而不是寻找#myid
,我认为这是你想要的。
答案 2 :(得分:2)
你想:
$("#myid td[role=foo].two")...
这个选择器:
$('#myid .two td[role=foo]')
表示:找到ID为“myid”的元素。从中找到所有具有“两个”类的后代。从这些元素中查找具有值为“foo”的role属性的所有后代<td>
元素。