在jQuery中选择嵌套的.children()

时间:2012-08-19 22:13:18

标签: jquery

我正在学习jQuery,我想知道这两个选择器之间有什么区别:

    $('#puzzleGrid table tr td img');

    $('#puzzleGrid').children('table').children('tr').children('td').children('img');

谢谢!

1 个答案:

答案 0 :(得分:6)

这个children()选择器 - 正如Fraicio Matte所指出的那样 -

第一个将在可用时使用DOM QSA,比第二个充满函数调用开销的示例快一千万倍。

$('#puzzleGrid').children('table').children('tr').children('td').children('img');

非常特定于获取前一个元素的子元素

和 - descendant selector

$('#puzzleGrid table tr td img')

将找到具有id = puzzleGrid的元素的任何“table”后代(其下的任何表元素)以及找到的表的任何后代tr ......等等。

与第一个相同的是使用> child-selector

$('#puzzleGrid > table > tr > td > img')