首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使JavaScript函数在页面的所有元素上运行

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

Stack Overflow用户
提问于 2018-10-04 10:31:39
回答 1查看 57关注 0票数 0

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

我正在运行一个JavaScript函数,但它只发生在页面的第一个元素上。我怎么才能防止它在第一次停下来呢?

代码语言: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();
代码语言:javascript
复制
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; }*/
}
代码语言:javascript
复制
<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>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-04 10:35:36

使用forEach方法如下:

代码语言:javascript
复制
buttonList.forEach(function(element) { 
  element.classList.add('button-wrapper');
});

所以完整的代码:

代码语言:javascript
复制
function createButtonWrapper () {
    var buttonList = document.querySelectorAll('.article ul li [class^="ck-button"]');

    if (buttonList){
        buttonList.forEach(function(element) { 
          element.classList.add('button-wrapper');
        });
    }
}
createButtonWrapper();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52644524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档