帮助理解JQuery属性选择器

帮助理解JQuery属性选择器,jquery,jquery-selectors,Jquery,Jquery Selectors,我想在 这两个选择器工作: $('#myid td[role=foo]') $('#myid .two') 但是这个没有,为什么 $('#myid .two td[role=foo]') 因为选择器字符串中有空格 您需要执行以下操作: $('#myid td.two[role=foo]') 按照您的方式,您正在搜索元素,这些元素是的后代。两个的后代,因为您的选择器: $('#myid .two td[role=foo]') $('#myid .two td[role=foo]') 正

我想在

这两个选择器工作:

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

$('#myid .two')
但是这个没有,为什么

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

因为选择器字符串中有空格

您需要执行以下操作:

$('#myid td.two[role=foo]')
按照您的方式,您正在搜索
元素,这些元素是
的后代。两个

的后代,因为您的选择器:

$('#myid .two td[role=foo]')
$('#myid .two td[role=foo]')
正在类
的元素中查找一个
td[role=foo]
。在id
的元素中查找两个

您使用的是后代选择器,而不是查找
td[role=foo]。我认为这两个是您想要的。

您想要:

$("#myid td[role=foo].two")...
此选择器:

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

意思是:找到ID为“myid”的元素。从中找到所有具有“二”类的后代。从这些元素中查找所有具有值为“foo”的角色属性的子元素。

@Nick-这样更有效吗?