jQuery end()函数

时间:2012-12-22 08:59:50

标签: javascript jquery

调用end()会弹出jQuery堆栈中的最后一项,所以

$("div")

返回与

相同的内容
$("div").children().end()

我无法在调试器中看到与返回的内容有任何区别,但我注意到了

divs1 = $("div")
divs2 = $("div").children().end()
console.log(divs1 == divs2) // false

为什么这两个对象彼此不相同?在Ruby中是否有像javascript中的对象的某种唯一标识符?或者在我的控制台中有什么我看不到的东西可以区分两者?

1 个答案:

答案 0 :(得分:4)

通过选择器jQuery获取jQuery对象时,每次都会在新对象中包装结果。所以目标对象是相同的,包装jQuery对象不是。

您应该直接以这种方式比较DOM节点:

console.log(divs1[0] == divs2[0]) // true

...[0]可以访问第一个节点)