js 判断元素是否含有class

JavaScript021

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')

}

}

不过我想说的是 js中没有class,你说的可能是 html+css的内容,或者你用的是jquery等。

c/c++或者c#中的class 在js中也都是用 function写的。

自我感觉js是一种特殊的语言,不和和python,perl等比起来怎样。

但是看到你这么问了我就去查了一下,可能你说的类似这个

http://hi.baidu.com/haofz1983/item/22728e23f45e8d0b42634ac1

就是用js然后起了个名字叫class罢了,而且这还是个 prototype.js 框架。