我想使用jQuery获得类名

如果它有id

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

当前回答

如果<div>有id:

​<div id="test" class="my-custom-class"></div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

...你可以试试:

var yourClass = $("#test").prop("class");

如果你的<div>只有一个类,你可以尝试:

var yourClass = $(".my-custom-class").prop("class");

其他回答

你可以简单地用,

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

在javascript或jquery中获取类名的最佳方法

Attr()属性函数用于获取和设置属性。


得到类

jQuery('your selector').attr('class');  // Return class

检查类是否存在

The hasClass() method checks if any of the selected elements have a specified class name.

 if(jQuery('selector').hasClass('abc-class')){
        // Yes Exist
    }else{
        // NOt exists
    }

设置类

jQuery('your selector').attr('class','myclass');  // It will add class to your selector

使用jQuery点击按钮获取类

jQuery(document).on('click','button',function(){
     var myclass = jQuery('#selector').attr('class');
});

如果选择器没有任何类使用jQuery添加类

if ( $('#div-id' ).hasClass( 'classname' ) ) {
        // Add your code
    }

使用into元素将第二个类转换为多个类

Change array position in place of [1] to get particular class.

var mysecondclass = $('#mydiv').attr('class').split(' ')[1];

如果您打算使用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”

这也有用。

const $el = $(".myclass");
const className = $el[0].className;