帮助理解JQuery Attribute Equals Selector

时间:2010-09-28 16:29:57

标签: jquery jquery-selectors

我想在<td role="foo" class="one two three four">

中找到<div id="myid">

这两个选择器有效:

$('#myid td[role=foo]')

$('#myid .two')

但这个没有,为什么?

$('#myid .two td[role=foo]')

3 个答案:

答案 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>元素。