Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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 这个关键字和数组_Javascript_Arrays_This - Fatal编程技术网

Javascript 这个关键字和数组

Javascript 这个关键字和数组,javascript,arrays,this,Javascript,Arrays,This,我在一个数组中循环,听着咔嗒声。 一旦检测到单击,所有类都将被删除,然后使用此方法添加 我已经移动了这个关键字,这就是我所能想到的 //vars for the buttons of the top carousel const tCBtn = document.querySelectorAll('.featureNav li'); //add listener for options choice for(i = 0; i < tCBtn.length; i++){ tCB

我在一个数组中循环,听着咔嗒声。 一旦检测到单击,所有类都将被删除,然后使用此方法添加

我已经移动了这个关键字,这就是我所能想到的

//vars for the buttons of the top carousel

const tCBtn = document.querySelectorAll('.featureNav li');

//add listener for options choice

for(i = 0; i < tCBtn.length; i++){
    tCBtn[i].addEventListener('click', () => {

        for(o = 0; o < tCBtn.length; o++) {
        tCBtn[o].classList.remove('carousel--active');

            this.classList.add('carousel--active');

        }
    })
}

我相信您的问题是由于使用了箭头函数而出现的。它们没有自己的
this

您可以尝试用普通函数替换箭头函数,因为普通函数有自己的
this
。如果在循环完成后添加
carousel--active
类,也会更好

for(let i = 0; i < tCBtn.length; i++){ 
   tCBtn[i].addEventListener('click', 
      function() {
         for(let o = 0; o < tCBtn.length; o++) {
            tCBtn[o].classList.remove('carousel--active');
         }
         this.classList.add('carousel--active');
      }
   );
}
for(设i=0;i

请参阅。

您应该查看该代码的格式-您缺少了一个括号。嘿,安迪,谢谢您的提醒。我对格式做了一些改进,并添加了一个MDN链接。但找不到缺少的括号。
for(let i = 0; i < tCBtn.length; i++){ 
   tCBtn[i].addEventListener('click', 
      function() {
         for(let o = 0; o < tCBtn.length; o++) {
            tCBtn[o].classList.remove('carousel--active');
         }
         this.classList.add('carousel--active');
      }
   );
}