[英]Counting how many times the click() function has been used
我想知道click()函数被使用了多少次并记录了但是我总是得到名为“undefined”或“NaN”的错误
var sleep = 1000; var run = setInterval(function() { var span = document.getElementsByTagName("span"); for (var i = 0; i < span.length; i++) { if (span[i].textContent != "danger") { var jump = document.getElementsByClassName("jump")[0].click(); console.log(jump++); } else { clearInterval(run); } } }, sleep);
<span>Danger</span> <button type="button" class="jump">Click</button>
您需要定义跳转而不是为其分配按钮
另外,我建议使用querySelector(All)而不是getElementsByClass / TagName
var sleep = 1000, jump=0, jumpBut = document.querySelector(".jump"); var run = setInterval(function() { // move this var outside the loop if the spans never change in number var span = document.querySelectorAll("span"); for (var i = 0; i < span.length; i++) { if (span[i].textContent != "danger") { jumpBut.click(); console.log(jump++); } else { clearInterval(run); } } }, sleep);
<span>Danger</span> <button type="button" class="jump">Click</button>
但请尝试这样做 - 向按钮添加一个click事件监听器并将其添加到计数器中
var sleep = 1000, jump=0, jumpBut=document.querySelector(".jump"); jumpBut.addEventListener("click",function() { jump++, console.log(jump) }) var run = setInterval(function() { var span = document.querySelectorAll("span"); for (var i = 0; i < span.length; i++) { if (span[i].textContent != "danger") { jumpBut.click(); } else { clearInterval(run); } } }, sleep);
<span>Danger</span> <button type="button" class="jump">Click</button>
你需要一个计数器变量! 此外,每次调用间隔时都不必使用getElementsByTagName
,除非DOM元素不断变化。
var sleep = 1000;
var counter = 0;
var spans = document.getElementsByTagName("span");
var jump = document.getElementsByClassName("jump")[0];
var run = setInterval(function(){
for (var i =0; i< spans.length; i++) {
if (spans[i].textContent != "danger") {
jump.click();
counter++;
console.log(counter);
} else {
clearInterval(run);
}
}
}, sleep);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.