js 判断元素是否含有class

JavaScript016

js 判断元素是否含有class,第1张

非IE6,7,8可以直接用自带的属性getElementsByClassName,如果需要考虑兼容,就需要自己写了。下面是自己写的:function getClassName(obj,sName) //-->obj是要获取元素的父级{ //-->sName是class名字if(document.getElementsByClassName) {return obj.getElementsByClassName('sName')}else{var aTmp = obj.getElementsByTagName('*')var aRes=[]var arr =[]for(var i=0i

如果不考虑兼容IE10以下的话,可以用HTML5中的classList API,非常方便:

var node = document.getElementById('demo')

if(node.classList.contains('test')){

console.log('包含 test 这个class')

}

兼容的方式是采用className和getAttribute('class')方法:

if (node.getAttribute('class')) { // 存在class属性

// 方式1

if (node.getAttribute('class').indexOf('test') >-1) {

console.log('包含 test 这个class')

}

// 方式2

if (node.className.indexOf('test') >-1) {

console.log('包含 test 这个class')

}

}

var li=document.getElementsByTagname('li') //获取li元素

判断是否含有class值

if(li.className.indexOf("class名称")>-1)

{

//存在这个class名

}else{

//不存在这个class名

}