我想使用jQuery获得类名
如果它有id
<div class="myclass"></div>
我想使用jQuery获得类名
如果它有id
<div class="myclass"></div>
当前回答
如果您打算使用split函数来提取类名,那么您将不得不弥补可能产生意外结果的潜在格式变化。例如:
" myclass1 myclass2 ".split(' ').join(".")
生产
".myclass1..myclass2."
我认为最好使用正则表达式来匹配类名所允许的字符集。例如:
" myclass1 myclass2 ".match(/[\d\w-_]+/g);
生产
["myclass1", "myclass2"]
正则表达式可能不完整,但希望您理解我的观点。这种方法减少了格式不佳的可能性。
其他回答
你可以通过两种方式获取类Name:
var className = $('.myclass').attr('class');
OR
var className = $('.myclass').prop('class');
如果您打算使用split函数来提取类名,那么您将不得不弥补可能产生意外结果的潜在格式变化。例如:
" myclass1 myclass2 ".split(' ').join(".")
生产
".myclass1..myclass2."
我认为最好使用正则表达式来匹配类名所允许的字符集。例如:
" myclass1 myclass2 ".match(/[\d\w-_]+/g);
生产
["myclass1", "myclass2"]
正则表达式可能不完整,但希望您理解我的观点。这种方法减少了格式不佳的可能性。
如果你想获得div的类,然后想检查是否有任何类存在,那么简单使用。
if ( $('#div-id' ).hasClass( 'classname' ) ) {
// do something...
}
e.g;
if ( $('body').hasClass( 'home' ) ) {
$('#menu-item-4').addClass('active');
}
如果你不知道类名,但你知道ID,你可以试试这个:
<div id="currentST" class="myclass"></div>
然后调用它使用:
alert($('#currentST').attr('class'));
如果我们有一个div元素,或者我们想要第一个div元素,我们可以使用
$ (div)[0]。否则,我们需要该元素的id