在jQuery中我有以下代码
$("li#credit").trigger('click');
此代码仅在具有id credit的li上触发click事件。
现在使用JavaScript
执行此操作document.querySelectorAll("li#credit").click();
我收到错误:
click()不是函数
我正在使用的页面有多个ID为“credit”的元素,我只需要在具有id credit的<li>
上触发点击事件。
答案 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