我想使用jQuery获得类名

如果它有id

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

当前回答

在通过类以外的其他方式将元素获取为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 className = $('#id').attr('class');

在通过类以外的其他方式将元素获取为jQuery对象后,然后

var className = $('#sidebar div:eq(14)').attr('class');

应该能行。ID使用.attr(' ID ')。

如果你在事件处理程序或其他jQuery方法中,其中元素是没有包装器的纯DOM节点,你可以使用:

this.className // for classes, and
this.id // for IDs

两者都是标准的DOM方法,在所有浏览器中都得到了良好的支持。

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

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

生产

".myclass1..myclass2."

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

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

生产

["myclass1", "myclass2"]

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

直接的方式

myid.className

console.log( myid.className ) <div id=“myid” class=“myclass”></div>

如果你不知道类名,但你知道ID,你可以试试这个:

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

然后调用它使用:

alert($('#currentST').attr('class'));