调用end()会弹出jQuery堆栈中的最后一项,所以
$("div")
返回与
相同的内容$("div").children().end()
我无法在调试器中看到与返回的内容有任何区别,但我注意到了
divs1 = $("div")
divs2 = $("div").children().end()
console.log(divs1 == divs2) // false
为什么这两个对象彼此不相同?在Ruby中是否有像javascript中的对象的某种唯一标识符?或者在我的控制台中有什么我看不到的东西可以区分两者?
答案 0 :(得分:4)
通过选择器jQuery获取jQuery对象时,每次都会在新对象中包装结果。所以目标对象是相同的,包装jQuery对象不是。
您应该直接以这种方式比较DOM节点:
console.log(divs1[0] == divs2[0]) // true
(...[0]
可以访问第一个节点)