我想使用jQuery获得类名
如果它有id
<div class="myclass"></div>
我想使用jQuery获得类名
如果它有id
<div class="myclass"></div>
当前回答
如果你不知道类名,但你知道ID,你可以试试这个:
<div id="currentST" class="myclass"></div>
然后调用它使用:
alert($('#currentST').attr('class'));
其他回答
如果您打算使用split函数来提取类名,那么您将不得不弥补可能产生意外结果的潜在格式变化。例如:
" myclass1 myclass2 ".split(' ').join(".")
生产
".myclass1..myclass2."
我认为最好使用正则表达式来匹配类名所允许的字符集。例如:
" myclass1 myclass2 ".match(/[\d\w-_]+/g);
生产
["myclass1", "myclass2"]
正则表达式可能不完整,但希望您理解我的观点。这种方法减少了格式不佳的可能性。
在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];
如果你想获得div的类,然后想检查是否有任何类存在,那么简单使用。
if ( $('#div-id' ).hasClass( 'classname' ) ) {
// do something...
}
e.g;
if ( $('body').hasClass( 'home' ) ) {
$('#menu-item-4').addClass('active');
}
在通过类以外的其他方式将元素获取为jQuery对象后,然后
var className = $('#sidebar div:eq(14)').attr('class');
应该能行。ID使用.attr(' ID ')。
如果你在事件处理程序或其他jQuery方法中,其中元素是没有包装器的纯DOM节点,你可以使用:
this.className // for classes, and
this.id // for IDs
两者都是标准的DOM方法,在所有浏览器中都得到了良好的支持。
这是为了将第二个类转化为多个类,使用成一个元素
var class_name = $('#videobuttonChange').attr('class').split(' ')[1];