有没有人知道这个jQuery选择器会做什么?
object.find('td:eq(1) div div');
我知道td:eq(1)将获得对象中的第二个td元素,但选择器末尾引用的2 div是什么?
答案 0 :(得分:10)
它在一行中找到第二个表格单元格(我认为它基于0),然后在该单元格内的div内部找到一个div。
所以喜欢:
<tr>
<td>
Not me
</td>
<td>
<div class='parent'>
<div class='child'>
This stuff here!
</div>
</div>
</td>
答案 1 :(得分:2)
作为旁注,通常应该避免使用非标准的jQuery选择器。
当你只使用标准的CSS选择器时,jQuery可以将选择器工作传递给现代浏览器的快速内置querySelectorAll
函数,但是当你使用:eq
时,它必须通过相对的慢的native-JavaScript Sizzle选择器库。
所以你可能更喜欢拼写它:
object.find('td').eq(1).find('div div');
答案 2 :(得分:1)
第一部分在对象中找到第二个<td>
,而不是每行(对于你想要的:nth-child
)。 div div
部分在选择器内找到div 2级深度。
以下是object.find('td:eq(1) div div');
<tr>
<td><td>
<td>
<div>
<span> <!-- Or any wrappers, etc -->
<div>Found me!</div>
</span>
</div>
</td>
</tr>
答案 3 :(得分:0)
2 div的引用是什么? 选择器的结尾吗?
在div中找到一个div。 (与css选择器相同)