jQuery对新解析的HTML执行查询

时间:2014-02-21 20:14:47

标签: jquery

我已阅读jQuery documentation on context,我认为这应该有效:

var foo = $('<div class="bar"></div>');
foo instanceof jQuery;     //true
$('.bar', foo);            // returns []

我做错了什么?

2 个答案:

答案 0 :(得分:0)

$('.bar', foo);

找到所有后代,其类别为bar。因为您的元素没有后代,所以返回一个空的jQuery对象。您的代码等同于调用foo.find('.bar')(请参阅the documentation for .find()。您可以使用元素的siblings,如下所示:

foo.siblings('.bar');

这样可以正常工作,但它与后代不匹配。

答案 1 :(得分:0)

您正在尝试在{/ 1}}元素中搜索<{1}} 类的元素。然而,它不在里面 - 它本身就是元素。

这将按预期工作:

bar