让前端飞js

js中设置元素class,添加元素class的方法

2019-03-05  本文已影响16人  Vicky丶Amor

一、el.setAttribute('class','abc');

代码如下:

 .abc {
    background: red;
  }
test div
 var div = document.getElementById('d1');
 div.setAttribute("class", "abc");

IE6/7 : div背景色不是红色
IE8/9/10/Firefox/Safari/Chrome/Opera : div背景色为红色

结果:IE6/7不支持setAttribute('class',xxx)方式设置元素的class。

二、el.setAttribute('className', 'abc')

代码如下:
 
  .abc {
    background: red;
    }
test div
    var div = document.getElementById('d1');
    div.setAttribute("className", "abc");

IE6/7 : div背景色为红色
IE8/9/10/Firefox/Safari/Chrome/Opera : div背景色不是红色

结果:IE8/9/10/Firefox/Safari/Chrome/Opera不支持setAttribute('className',xxx)方式设置元素的class。

PS:很有趣,使用setAttribute的时候第一个参数为class和className的情形在IE6/7和IE8/9/10/Firefox/Safari/Chrome/Opera刚好相反。

三、el.className = 'abc';

代码如下:

 .abc {
  background: red;
  }
test div
   var div = document.getElementById('d1');
   div.className = 'abc';

结果:所有浏览器都支持。

四、el.className += 'abc';

代码如下:

 .abc {
  background: red;
  }
test div
   var div = document.getElementById('d1');
   div.className += 'abc';

结果:所有浏览器都支持,添加了新的class。

其他添加和删除的方法

添加:节点.classList.add("类名");
删除:节点.classList.remove("类名");
代码如下:

 .abc {
  background: red;
  }
test div
   var div = document.getElementById('d1');
   div.classlist.add("abc");      //添加
   div.classlist.remove("abc");   //删除
上一篇 下一篇

猜你喜欢

热点阅读