我想使用jQuery获得类名

如果它有id

<div class="myclass"></div>

当前回答

如果你想获得div的类,然后想检查是否有任何类存在,那么简单使用。

if ( $('#div-id' ).hasClass( 'classname' ) ) {
    // do something...
}

e.g;

if ( $('body').hasClass( 'home' ) ) {
    $('#menu-item-4').addClass('active');
}

其他回答

如果你想获得div的类,然后想检查是否有任何类存在,那么简单使用。

if ( $('#div-id' ).hasClass( 'classname' ) ) {
    // do something...
}

e.g;

if ( $('body').hasClass( 'home' ) ) {
    $('#menu-item-4').addClass('active');
}

如果您打算使用split函数来提取类名,那么您将不得不弥补可能产生意外结果的潜在格式变化。例如:

" myclass1  myclass2 ".split(' ').join(".")

生产

".myclass1..myclass2."

我认为最好使用正则表达式来匹配类名所允许的字符集。例如:

" myclass1  myclass2  ".match(/[\d\w-_]+/g);

生产

["myclass1", "myclass2"]

正则表达式可能不完整,但希望您理解我的观点。这种方法减少了格式不佳的可能性。

为了完成怀特斯托克的答案(这是我找到的最好的答案),我做了:

className = $(this).attr('class').match(/[\d\w-_]+/g);
className = '.' + className.join(' .');

所以对于" myclass1 myclass2 ",结果将是'。myclass1 .myclass2”

试一试

HTML

<div class="class_area-1">
    area 1
</div>

<div class="class_area-2">
    area 2
</div>

<div class="class_area-3">
    area 3
</div>

jQuery

<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script type="application/javascript">
    $('div').click(function(){
        alert($(this).attr('class'));
    });
</script>

你可以简单地用,

var className = $('#id').attr('class');