簡體   English   中英

計算click()函數的使用次數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM