gpt4 book ai didi

Javascript - 单击不同按钮时单击具有类或 id 的多个元素

转载 作者:行者123 更新时间:2023-12-02 23:15:22 26 4
gpt4 key购买 nike

我想单击一个按钮,该按钮同时单击其他按钮或在每个按钮之间有延迟。这些附加按钮共享相同的类,并且它们的 id 以相同的命名法开头。我知道我可以使用 jQuery 轻松完成此任务,但我想让它与 Vanilla Javascript 一起使用。

我尝试使用 querySelector,但这只会触发第一个元素。另外,我找到了另一个为每个按钮设置超时的解决方案,问题是当窗口加载时会触发此问题,并且当我单击另一个按钮时我需要它工作。

这是我的 html 代码:

<div>
<button class="bundle-product-button" id="button1" onClick="alert('click button1');">Button 1</button>
<button class="bundle-product-button" id="button2" onClick="alert('click button2');">Button 2</button>
<button class="bundle-product-button" id="button3" onClick="alert('click button3');">Button 3</button>
</div>
<button class="add-bundle-to-cart">Trigger</button>

这只触发第一个按钮:

function testOne() {
document.querySelector(".bundle-product-button").click();
}
document.querySelector(".add-bundle-to-cart").onclick = testOne;

这会在窗口加载时触发:

var clickcallback = function(i) {
setTimeout(function() {
let id = "button" + i;
document.getElementById(id).click();
}, 1000); // one second
if(i <= 3) {
clickcallback(i+1);
}
};
clickcallback(1);

我知道这可能很简单,但是如何在单击一个元素时触发多次点击。

最佳答案

querySelector 仅匹配第一个元素,您必须使用 querySelectorAll ,然后针对每个元素

function testOne() {
document.querySelectorAll(".bundle-product-button").forEach(function(el) {
el.click();
});
}
document.querySelector(".add-bundle-to-cart").onclick = testOne;

关于Javascript - 单击不同按钮时单击具有类或 id 的多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57187684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com