javascript - 如何使 JavaScript 函数在页面的所有元素上运行

标签 javascript function

我想向其中包含按钮的父元素添加一个类。

我正在运行 JavaScript 函数,但它只发生在页面的第一个元素上。请问如何防止它在第一个时停止?

function createButtonWrapper () {
  var buttonList = document.querySelector('.article ul li [class^="ck-button"]');
  var buttonWrapper = buttonList.parentNode.parentNode;

  if (buttonList){
    buttonWrapper.classList.add('button-wrapper');
  }
}

createButtonWrapper();
section { display: flex; flex-direction: column; justify-content: flex-start; }

a[class^="ck-button"] {
  padding: 20px;
  color: white;
  display: inline-block;
}

.ck-button-one { background: #00C853; }
.ck-button-two { background: #00B8D4; }
.ck-button-three { background: #DD2C00; }
.ck-button-four { background: #311B92; }

.button-wrapper {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  /*li{ margin: 0 0 0 $spacing*2; }*/
}
<section>
  <div class="article">
    <ul>
      <li>
        <a class="ck-button-one">Button-1</a>
        <a class="ck-button-two">Button-2</a>
        <a class="ck-button-three">Button-3</a>
         <a class="ck-button-four">Button-4</a>
      </li>
    </ul>
  </div>
  <div class="article">
    <ul>
      <li>
        <a class="ck-button-one">Button-1</a>
        <a class="ck-button-two">Button-2</a>
        <a class="ck-button-three">Button-3</a>
         <a class="ck-button-four">Button-4</a>
      </li>
    </ul>
  </div>
</section>

最佳答案

像这样使用 forEach 方法:

buttonList.forEach(function(element) { 
  element.classList.add('button-wrapper');
});

完整代码:

function createButtonWrapper () {
    var buttonList = document.querySelectorAll('.article ul li [class^="ck-button"]');

    if (buttonList){
        buttonList.forEach(function(element) { 
          element.classList.add('button-wrapper');
        });
    }
}
createButtonWrapper();

关于javascript - 如何使 JavaScript 函数在页面的所有元素上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52644524/

相关文章:

javascript - 如何取消绑定(bind)元素内的所有事件

javascript - 在适用于 Windows 8 的 Visual Studio Express 2012 中读取文本框

javascript - 何时以及如何仅在 promise 完成时返回 http 响应?

function - PowerShell:函数没有正确的返回值

PHP 用字符串替换类函数

javascript - Phaser3 javascript 无法加载图像

javascript - 如何启动:hover when clicking on a separate link?

c++ - 与参数同名的方法导致不同的输出

javascript - 包含函数的 JSON

function - 为什么 kotlin 中的 Any 类中的函数没有主体?