Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有关es6中的of和click事件_Javascript_Jquery_Ecmascript 6 - Fatal编程技术网

Javascript 有关es6中的of和click事件

Javascript 有关es6中的of和click事件,javascript,jquery,ecmascript-6,Javascript,Jquery,Ecmascript 6,如果我使用jquery,它就会工作 $(document).ready(function() { $('btn').click(function() { alert('start'); }); }); 但我想使用本机es6 window.onload = function() { let btn = document.getElementsByClassName( 'btn' ); for (let i of btn.length) {

如果我使用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。长度[Symbol.iterator]不是函数

这也不管用

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

        i.onclick = function () {
            alert( 'start' );
        };
    }
};
window.onload=function(){
让btn=document.getElementsByClassName('btn');
for(设i=0;i
for of循环的
将迭代具有
[Symbol.iterator]
属性的集合的元素。在ES6代码段中,您试图迭代返回的HTMLCollection长度,例如:
for(让i为btn.length).

这是你应该做的

让btns=document.getElementsByClassName('btn');
for(让btn中的btn){
btn.onclick=函数(){
控制台清除()
console.log(this.textContent)
}
}
Btn 1
Btn 2
Btn 3

Btn 4
of
循环的
将迭代具有
[Symbol.iterator]
属性的集合的元素。在ES6代码段中,您试图迭代返回的HTMLCollection长度,例如:
for(让i为btn.length).

这是你应该做的

让btns=document.getElementsByClassName('btn');
for(让btn中的btn){
btn.onclick=函数(){
控制台清除()
console.log(this.textContent)
}
}
Btn 1
Btn 2
Btn 3

Btn 4
第二个应该是
Btn[i]。onclick=…
不是
i.onclick
i
是一个数字,而不是。。。of
迭代一个集合-so
for(让btn的按钮){…
而不是
的按钮。长度
第二个应该是
btn[i]。onclick=…
not
i.onclick
i
是一个数字,而不是
迭代集合的元素-so
for(让btn的按钮){…
而不是按钮的
。长度
以及将节点列表转换为数组的优势是什么?这一优势如何影响堆中新数组的分配?我没有正确阅读问题,实际上不知道
for of
甚至比
forEach
性能更好。感谢您的提示。问题是什么将NodeList转换为数组的优势?这一优势如何影响堆中新数组的分配?我没有正确阅读问题,实际上也不知道for of
的性能甚至比forEach
更好。感谢您的提示。