在jQuery中,我有以下代码
$("li#credit").trigger('click');
Run Code Online (Sandbox Code Playgroud)
此代码仅在具有id信用的li上触发click事件.
现在使用JavaScript执行此操作
document.querySelectorAll("li#credit").click();
Run Code Online (Sandbox Code Playgroud)
我收到错误:
click()不是函数
我正在使用的页面有多个id为"credit"的元素,我只需要在<li>
id为credit的情况下触发click事件.
Tas*_* K. 24
querySelectorAll
返回NodeList对象(源)而不是DOM元素.NodeList对象包含DOM元素.
您的代码需要更改以获取第一个元素,然后调用click()
:
document.querySelectorAll("li#credit")[0].click();
Run Code Online (Sandbox Code Playgroud)
如果要将.click()
事件触发到所有元素,可以执行for
循环
for(var i = 0; i<elems.length; i++) {
elems[i].click();
}
Run Code Online (Sandbox Code Playgroud)
fan*_*hzh 22
我发现这个很干净简单.
Array.from(document.querySelectorAll("ali#credit")).forEach(button=>button.click())
Run Code Online (Sandbox Code Playgroud)
来自这个网站:https://css-tricks.com/snippets/javascript/loop-queryselectorall-matches/#comment-1602558