如何在querySelectorAll上使用JavaScript触发click事件

时间:2015-07-22 17:19:16

标签: javascript html

在jQuery中我有以下代码

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

此代码仅在具有id credit的li上触发click事件。

现在使用JavaScript

执行此操作
document.querySelectorAll("li#credit").click();

我收到错误:

  

click()不是函数

我正在使用的页面有多个ID为“credit”的元素,我只需要在具有id credit的<li>上触发点击事件。

2 个答案:

答案 0 :(得分:21)

loadImages(sources, function(images) { context.drawImage(images.img2, 0, 0, 540, 540); context.globalCompositeOperation = 'destination-out'; context.drawImage(images.mask, 20, 95, 500, 349); context.globalCompositeOperation = 'destination-atop'; context.drawImage(images.img1, 0, 0, 540, 540); }) 返回NodeList对象(source)而不是DOM元素。 NodeList对象包含DOM元素。

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

click()

如果您想对所有元素触发document.querySelectorAll("li#credit")[0].click(); 事件,可以执行.click()循环

for

答案 1 :(得分:19)

我发现这个很干净简单。

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

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