所以我遇到了一个问题,我需要一个页面来刷新,但我不能在它上面使用 .click() 方法,因为它在 href 上不起作用。我不能使用 window.location 因为我试图渲染一个子选项卡,由于安全原因可以直接访问它。然后我偶然发现了这个帖子:
https://stackoverflow.com/a/12801548/1864552
他的解决方案有效,但我希望有人可以很好地解释为什么会这样。
所以我遇到了一个问题,我需要一个页面来刷新,但我不能在它上面使用 .click() 方法,因为它在 href 上不起作用。我不能使用 window.location 因为我试图渲染一个子选项卡,由于安全原因可以直接访问它。然后我偶然发现了这个帖子:
https://stackoverflow.com/a/12801548/1864552
他的解决方案有效,但我希望有人可以很好地解释为什么会这样。
jQueryclick
函数会触发与 jQuery 绑定的事件处理程序,并模拟一个事件以尝试触发其他与单击相关的处理程序,但不能完全重现浏览器的原生行为:
尽管 .trigger() 模拟了一个事件激活,并带有一个合成的事件对象,但它并不能完美地复制一个自然发生的事件。
如果添加[0]
,则不会调用 jQuery 的函数,而是调用标准的 DOM 函数,这在这种情况下非常有效。
因为 using$('#element')[0]
获取 DOM 元素,因此您可以为该元素使用 javascript 函数
jQuery 的$()
函数返回一个带有特殊方法的数组,例如:.css()
和.append()
. 当调用这些特殊的数组函数之一时,jQuery 会将操作应用于数组中的所有元素。该数组由 DOM 节点组成,因此当我们使用array[0]
语法访问它时,我们会得到一个具有不同方法集的 DOM 元素。