如何在querySelectorAll上使用JavaScript触发点击事件[重复]

问题描述 投票:0回答:2

在 jQuery 中我有以下代码

$("li#credit").trigger('click');

此代码仅在有id信用的li上触发点击事件。

现在使用 JavaScript 来完成此操作

document.querySelectorAll("li#credit").click();

我收到错误:

click() 不是函数

我正在工作的页面有多个带有

id="credit"
的元素,我只需要在具有 id 信用的
<li>
上触发点击事件。

javascript html
2个回答
46
投票

我发现这个干净简单。

Array.from(document.querySelectorAll("ali#credit")).forEach(button=>button.click())

来自此站点:https://css-tricks.com/snippets/javascript/loop-queryselectorall-matches/#comment-1602558

编辑1 感谢 Sliavik 的评论。

document.querySelectorAll("ali#credit").forEach(el=>el.click())

拨打电话很安全


39
投票

querySelectorAll
返回 NodeList 对象(source)而不是 DOM 元素。 NodeList 对象包含 DOM 元素。

您的代码需要更改以获取第一个元素,然后调用

click()

document.querySelectorAll("li#credit")[0].click();

如果您想对所有元素触发

.click()
事件,您可以执行
for
循环

for(var i = 0; i<elems.length; i++) {
    elems[i].click();
}
© www.soinside.com 2019 - 2024. All rights reserved.