js删除html元素的class属性(div、ul、li、ol、img、table等)

亮术网 2020-05-21 本网原创

使网页变得美观漂亮就要用CSS样式修饰,而作用到具体的html元素上得用class属性。应用多种多样,有时需要给html元素加上class属性,有时又需要把class属性删除。其实不修饰html元素不一定要把class属性删除,可以把它设为空,元素的样式同样不在。

在 javascript 中,删除html元素的class属性其实是移除属性,用 removeAttribute() 方法,不光移除class属性用这个方法,移除html元素的所有属性都用这个方法。

 

一、js删除class之div

假如有 div 元素如下:

<div id="divId" class="content">用javascript删除div的class属性</div>

用于div的CSS样式为:

.content{width:980px;margin:auto;}

 

//删除div的class属性
  var obj = document.getElementById("divId");
  obj.removeAttribute("class");//删除div的class属性
  obj.class = "";//设置div的class属性为空
  obj.setAttribute("class", "");//设置div的class属性为空(方法二)

 

二、js删除class之ul li、ol li

1、假如有 ul li 如下:

<ul id="ulId" class="list"><li>javascript删除ul li 的class属性</li></ul>

var ul = document.getElementById("ulId");
  ul.removeAttribute("class");//删除ul的class属性
  ul.class = "";//设置ul的class属性为空
  ul.setAttribute("class", "");//设置ul的class属性为空(方法二)

//删除li的class属性
  var li= ul.childNodes;//li是ul的孩子,可通过 childNodes 获得li
  for (var i = 0; i < li.length; i++) {
     li[i].removeAttribute("class");//循环删除所有li的class属性
  }

如果li有Id,也可以通过Id获取li。如果要删除ul的第一个孩子,也可以通过 firstChild 获取;同理要删除ul的最后一个孩子可通过 lastChild 获取;删除中间的孩子在li没有Id的情况下,只能用循环。

 

2、假如有 ol li 如下:

<ol id="ol" class="ollist"><li>javascript删除ol li的class属性</li></ol>

//删除ol的class属性
  var ol = document.getElementById("ol");
  ol.removeAttribute("class");//删除ol的class属性

//删除ol li的class属性
  var ol = document.getElementById("ol");
  var li = ol.firstChild;//li是ol的第一个孩子,可通过ol获取li
  li.removeAttribute("class");//删除li的class属性

 

三、js删除class之img

假如有 img 如下:

<img id="imgId" src="/images/test.jpg" class="imgstyle" alt="javascript删除img的class属性" />

var obj = document.getElementById("imgId");
  obj.removeAttribute("class");

 

四、js删除class之table

假如有 tabel 如下:

<table id="tableId" cellpadding="0" cellspacing="0" class="content">
    <tr><td>javascript删除table的class属性</td><td>有两种方法</td></tr>
  </table>

var obj = document.getElementById("tableId");
  obj.removeAttribute("class");

本文浓缩标签:class属性divjs