簡體   English   中英

ES6中的for和click事件

[英]For of and click event in es6

如果我使用jQuery,它的工作。

$(document).ready(function() {
   $('btn').click(function() {
       alert('start');
   });
});

但我想使用本機es6

window.onload = function() {
    let btn = document.getElementsByClassName( 'btn' );
    for (let i of btn.length) {
        i.onclick( function () {
            alert( 'start' );
        });
    }
};

錯誤btn.length [Symbol.iterator]不是函數

而且這也不起作用。

window.onload = function() {
    let btn = document.getElementsByClassName( 'btn' );
    for (let i=0; i < btn.length; i++) {

        i.onclick = function () {
            alert( 'start' );
        };
    }
};

for of循環將遍歷具有[Symbol.iterator]屬性的集合的元素。 在您的ES6代碼段中,您嘗試遍歷返回的HTMLCollection長度,例如。 for (let i of btn.length)...

這是您應該做的。

 let btns = document.getElementsByClassName( 'btn' ); for ( let btn of btns ) { btn.onclick = function() { console.clear() console.log(this.textContent) } } 
 <button class="btn">Btn 1</button> <button class="btn">Btn 2</button> <button class="btn">Btn 3</button> <button class="btn">Btn 4</button> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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