有以下选择之间的差异:父VS parentNode
var index = $(this).parent().index();
var index2 = $(this.parentNode).index();
从我已阅读,parentNode的广泛支持。
是否有理由使用其中一种?
有以下选择之间的差异:父VS parentNode
var index = $(this).parent().index();
var index2 = $(this.parentNode).index();
从我已阅读,parentNode的广泛支持。
是否有理由使用其中一种?
jQuery .parent()
选择器选择的所有的直接父节点集中的节点。但是,由于在你的例子中,节点集只是一个节点$(this)
,实际上几乎没什么区别。
如果您要执行类似$(".foo").parent()
的操作,可能会有许多具有foo
类的节点,这种差异很重要。
parentNode是原生JS,其中parent()不是。
您在代码中所做的是将DOM元素封装在jQuery对象中,以便您可以调用jQuery特定的方法。所以,你不能在this.parentNode上调用index(),但是你可以在$(this.parentNode).index()上调用它,因为它已经变成了一个jQuery对象。
您的第一个示例将当前DOM元素封装为jQuery对象,并且使用jQuery parent()方法检索其父元素并获取该父元素的索引。你的第二个例子直接直接包装父节点。
如果得到广泛支持,这种情况会有什么不同? – r0m4n 2012-03-30 18:04:57