原生js之classList 增加、移除指定类

2017-11-09  本文已影响0人  _信仰zmh

jQuery中的removeClass() 方法,移除指定类的确很方便,但是它是jQuery中的方法,原生dom是不能直接使用的。

在项目中本来用的jq获取dom,但是在for循环中动态生成div,还要抓取到第i个dom,给div加固定id的话肯定不行,所以给他加了className,然后通过i,抓取第i个div。

$("test")[i].removeClass("class1");

以上代码,会报错 removeClass()不是一个function;

因为$("test")[i] 是原生dom,不能使用jQuery的方法;


第一种解决方法:

jq对象加了下标,就变成js对象,在转jq对象,才能用remove Class();
在把dom对象转换成jq对象,此处略;


第二种方法:使用原生的方法
var oThisDiv = document.getElementsByClassName("test")[i];
// 或者
var oThisDiv = $("test")[i];
使用classList下的add/remove/contains等方法

oThisDiv.classList.add("myClass");

oThisDiv.classList.add("myClass1","myClass2", ...., "myClassN");

oThisDiv.classList.remove("myClass");

oThisDiv.classList.remove("myClass1","myClass2", ...., "myClassN");

oThisDiv.classList.contains("myClass1");

[图片上传失败...(image-8fe7bb-1510324851121)]

上一篇 下一篇

猜你喜欢

热点阅读