原生js判断某个元素是否有指定的class名的几种方法

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

1
2
3
4
var  node = document.getElementById( 'demo' );
if (node.classList.contains( 'test' )){
     console.log( '包含 test 这个class' );
}

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

1
2
3
4
5
6
7
8
9
10
11
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)