Jquery .find与祖先和后代之间的空格有什么区别?

时间:2013-09-26 13:19:09

标签: jquery jquery-selectors find ancestor descendant

$("div .product");选择具有div祖先的产品类的元素 $("div").find(".product");尽我所能完全相同。

两者都适合我。 我想知道我应该使用哪个,以简化我的代码?

1 个答案:

答案 0 :(得分:3)

如果您已经拥有包含父元素的jQuery对象,则查找特别有用:

var $elements = $("div");
// some code that does other stuff with $elements
// ...
// then
var $products = $elements.find(".product");

或者即使您直接引用了父元素/祖先的DOM元素:

$(domElementRef).find(".product");
// or inside an event handler where 'this' is the DOM element the event applied to:
$(this).find(".product");

如果您不需要对父/祖先元素进行任何处理,可以将组合选择器与$("div .product")一起使用。