为什么 jquery .click() 在添加 [0] 时在 href 上工作

Why does jquery .click() work on href when adding [0]?

本文关键字:时在 href 工作 添加 click jquery 为什么      更新时间:2023-09-26

所以我遇到了一个问题,我需要刷新一个页面,但我不能使用它的 .click() 方法,因为它在 href 上不起作用。 我无法使用 window.location,因为我试图渲染一个由于安全原因可以直接访问的子选项卡。 然后我偶然发现了这篇文章:

https://stackoverflow.com/a/12801548/1864552

他的解决方案有效,但我希望有人能很好地解释为什么会这样。

jQuery click函数触发与 jQuery 绑定的事件处理程序,并模拟事件以尝试触发其他与点击相关的处理程序,但不能完全重现浏览器的本机行为:

虽然 .trigger() 模拟事件激活,但 合成的事件对象,它不能完美地复制 自然发生的事件。

如果你添加[0],你不会调用jQuery的函数,而是标准的DOM函数,在这种情况下完美地工作。

因为使用 $('#element')[0] 获取 DOM 元素,因此您可以对该元素使用 javascript 函数

jQuery的$()函数返回一个带有特殊方法的数组,例如:.css().append()。当这些特殊数组函数之一称为jQuery时,会将该操作应用于数组中的所有元素。数组由 DOM 节点组成,因此当我们使用 array[0] 语法访问它时,我们会得到一个具有不同方法集的 DOM 元素。