Jquery 父节点与父节点

Jquery 父节点与父节点,jquery,jquery-selectors,Jquery,Jquery Selectors,以下选择器之间是否存在差异: var index = $(this).parent().index(); var index2 = $(this.parentNode).index(); 据我所知,parentNode得到了广泛的支持 是否有理由使用一个而不是另一个?parentNode是本机JS,而parent()不是 您在代码中所做的是将DOM元素包装到jQuery对象中,以便可以对其调用特定于jQuery的方法。因此,不能仅在this.parentNode上调用index(),但可以在$

以下选择器之间是否存在差异:

var index = $(this).parent().index();
var index2 = $(this.parentNode).index();
据我所知,parentNode得到了广泛的支持


是否有理由使用一个而不是另一个?

parentNode是本机JS,而parent()不是

您在代码中所做的是将DOM元素包装到jQuery对象中,以便可以对其调用特定于jQuery的方法。因此,不能仅在this.parentNode上调用index(),但可以在$(this.parentNode).index()上调用它,因为它已成为jQuery对象

第一个示例将当前DOM元素包装为jQuery对象,然后使用jQuery parent()方法检索其父元素,然后检索该父元素的索引。第二个示例直接包装parentnode。

jQuery
.parent()
选择器选择节点集中所有节点的直接父节点。但是,由于在您的示例中,节点集只是一个节点
$(this)
,因此实际差别不大


如果要执行类似于
$(“.foo”).parent()
,其中可能有许多节点具有类
foo

的操作,则这种差异很重要。如果广泛支持,这种情况下会有什么区别?