Jquery .find 和简单的祖先和后代之间的空格有啥区别?

Posted

技术标签:

【中文标题】Jquery .find 和简单的祖先和后代之间的空格有啥区别?【英文标题】:Jquery what is the difference between .find and simply a space between ancestor and descendant?Jquery .find 和简单的祖先和后代之间的空格有什么区别? 【发布时间】:2013-09-26 13:19:08 【问题描述】:

$("div .product"); 选择具有 div 祖先的 product 类的元素 据我所知,$("div").find(".product"); 的作用完全相同。

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

【问题讨论】:

【参考方案1】:

如果您已经有一个带有父元素的 jQuery 对象,则 Find 特别有用:

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") 一起使用即可。

【讨论】:

以上是关于Jquery .find 和简单的祖先和后代之间的空格有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 遍历用法

jquery-根据现有结果集得到另一个结果集(后代祖先或兄弟元素)

12.组件化开发2-非父子组件之间通信-祖先和后代之间的通信

遍历祖先同胞后代

jquery选择器中后代选择器和.find()方法的区别

jQuery---[jQuery筛选之::祖先,后代,同胞,过滤,判断]