在另一个jQ var中插入jQ var

时间:2013-11-23 18:02:54

标签: jquery

我能以某种方式告诉jQ这样的事情:

var $foo = $('#parent #child');
var $boo = $($foo '#grandChild');

可以$ boo找到$ foo的孩子吗?

1 个答案:

答案 0 :(得分:2)

如果您已经拥有:

var $foo = $('#parent #child');

你可以这样做:

var $boo = $foo.find("#grandChild")

或者这个:

var $boo = $("#grandChild", $foo);

jQuery函数的第二个参数是一个可选的上下文,它将搜索范围限定为该层次结构。

对于与选择器匹配的元素,这两个选项中的任何一个都只会查看$foo的后代。我通常更喜欢.find()语法,因为我认为它使得更易读的代码更加明显,并且更容易从左到右读取。

如果你只想搜索直接的孩子(不是更深的后代),你也可以这样做:

var $boo = $foo.children("#grandChild")

如果你真的在寻找一个id,我会想知道你为什么要这么做,因为id应该在整个文档中是唯一的

var $boo = $("#grandChild")
如果它是一个id,

应该有效,除非你想知道给定的id是否只在页面的给定层次结构中。