当前位置:  开发笔记 > 编程语言 > 正文

将一个类添加到div后DOM没有更新?

如何解决《将一个类添加到div后DOM没有更新?》经验,为你挑选了1个好方法。

我正在尝试编写一个程序来收集a中的所有类名div,将它们存储在一个array并将它们全部推回到DOM,blue最后调用一个类,这就是HTML:




  
  some title
  



    

问题是,我知道如何获取内部的所有类名div,甚至如何在该div中推送blue(btn点击)以及我收集的其他值,但为什么不出现蓝框?我错过了什么?

var domManipulation = function(){
      var box = document.querySelector('#box');
      var btn = document.querySelector('#btn');
      var class_list = [];

      if(box.classList.length > 0){
        for(var i = 0; i < box.classList.length; i++){
          class_list.push(box.classList[i]);
        }
      }

      btn.addEventListener('click', function(){
          class_list.push("blue");
          box.classList.add(class_list);
          console.log(class_list);
      });

 }();

这是一个JsBin,我不能使用jQuery btw.



1> Shomz..:

这就是问题:

box.classList.add(class_list);

您无法添加完整的类数组,因为它们最终以逗号分隔.

var domManipulation = function() {
  var box = document.querySelector('#box');
  var btn = document.querySelector('#btn');
  var class_list = [];

  if (box.classList.length > 0) {
    for (var i = 0; i < box.classList.length; i++) {
      class_list.push(box.classList[i]);
    }
  }

  btn.addEventListener('click', function() {
    class_list.push("blue");
    class_list.forEach(function(e){
      box.classList.add(e);
    })
    console.log(class_list);
  });

}();
#box {height: 50px; background: #eee}
#box.blue {background: blue}
推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有