javascript - jQuery end() 函数

标签 javascript jquery

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

$("div")

返回相同的内容

$("div").children().end()

我在调试器中看不到返回的内容有任何差异,但我注意到

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

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

最佳答案

当通过选择器获取 jQuery 对象时,jQuery 每次都会将结果包装在一个新对象中。因此,目标对象是相同的,而包装 jQuery 对象则不同。

你应该这样直接比较 DOM 节点:

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

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

关于javascript - jQuery end() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14001484/

相关文章:

javascript - jQuery:以 dd-mm-yyyy 格式添加迄今为止的 4 周

php - 这段 Ajax/Javascript 代码有什么问题?

javascript - JSDOC 的文档范围

javascript - 替换符合条件的括号

jquery - 如何在 TWIG (symfony2) 中使用 JQuery

javascript - 如何在 jquery 中使用 fadeTo 等动画标签以及 css 更改语句?

javascript - Textarea enter keypress 不工作,因为表单提交 enter prevention

javascript - 输入表格可选图像

javascript - 触发ajax调用加载无限元素的最佳方式?

Jquery ui 与 Jeditable