【发布时间】:2010-09-29 00:35:35
【问题描述】:
我想在<div id="myid"> 中找到<td role="foo" class="one two three four">
这两个选择器起作用:
$('#myid td[role=foo]')
$('#myid .two')
但是这个没有,为什么?
$('#myid .two td[role=foo]')
【问题讨论】:
我想在<div id="myid"> 中找到<td role="foo" class="one two three four">
这两个选择器起作用:
$('#myid td[role=foo]')
$('#myid .two')
但是这个没有,为什么?
$('#myid .two td[role=foo]')
【问题讨论】:
因为选择器字符串is a descendant-selector中有一个空格。
你需要这样做:
$('#myid td.two[role=foo]')
按照您的方式,您正在搜索<td role="foo"> 元素,它们是.two 的后代。
【讨论】:
因为你的选择器:
$('#myid .two td[role=foo]')
正在寻找td[role=foo] 在 类.two 的元素在 id 为#myid 的元素。
您正在使用后代选择器,而不是寻找 td[role=foo].two,我认为这正是您想要的。
【讨论】:
你想要:
$("#myid td[role=foo].two")...
这个选择器:
$('#myid .two td[role=foo]')
意思是:找到ID为“myid”的元素。从中找到所有具有“二”类的后代。从这些元素中找到所有后代 <td> 元素,其角色属性的值为“foo”。
【讨论】: