我在forEach循环中有一个选择元素列表,并且只希望索引为0的第一个元素。

这个元素将具有不同的方法,我试图防止重复的代码,我不想仅为该单个元素创建另一个方法,我试图弄清楚,但看来我并不成功。

var listOfSelect = document.querySelectorAll('select');

listOfSelect.forEach(function(element) {
  element.addEventListener('focus', function () {
      element.style.backgroundColor = "white";
  });
  element.addEventListener('blur', function () {
      element.style.backgroundColor = "#F0F0E7";
  });

  element.addEventListener('change', function () { // I would want to get the first element here
    //
  });
});

最佳答案

您可以将index作为forEach方法的第二个参数访问,如下所示

var listOfSelect = document.querySelectorAll('select');

listOfSelect.forEach(function(element, index) {
 ...

  element.addEventListener('change', function () {
    // I would want to get the first element here
    if (index === 0) {
      console.log('hi')
    }
  });
});

关于javascript - 在forEach循环中获取特定元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57231827/

10-15 23:39