如何从元素中获取第二个类名?

Cyb*_*kie 60 jquery class

我试图找出如何检索类属性的第二个类名.

例如,拥有:

<div class="something fooBar"></div>
Run Code Online (Sandbox Code Playgroud)

如何获得名为"fooBar"的第二个类?

我知道你可以添加,删除和检查特定的类,但我找不到文档如何将第二个类检索到变量中.

Sar*_*raz 112

你可以split像这样使用:

alert($('#divID').attr('class').split(' ')[1]);
Run Code Online (Sandbox Code Playgroud)

要获得所有课程,您可以这样做:

var classes = $('#divID').attr('class').split(' ');

for(var i=0; i<classes.length; i++){
  alert(classes[i]);
}
Run Code Online (Sandbox Code Playgroud)

更多信息:

  • @matt,它真的让我惊讶于人们如何快速地提供解决方案,甚至完整地输入代码,人们在这个堆栈溢出中简直就是辉煌.在stackoverflow中创建登录后,我完全没有陷入我的开发中的任何地方,我在过去的两个月里获得了很多知识. (10认同)
  • +1; 和我的答案一样,但提前15秒. (3认同)

Mat*_*all 11

// alerts "8"
alert($('<div class="something 8"></div>').attr('class').split(' ')[1]);
Run Code Online (Sandbox Code Playgroud)

  • +1也是正确答案,虽然是,但我早在15秒之前: (2认同)

Joh*_*ock 11

这是通过引用div ID来实现的

$(document).ready( function () {
  alert($('#yourDivID').attr('class').split(' ')[1]);
});
Run Code Online (Sandbox Code Playgroud)

split函数允许您使用指定的分隔符拆分字符串.这将返回分隔值的数组.在这种情况下,将返回一个类名数组.

用于拆分其他字符串方法的参考http://www.javascriptkit.com/javatutors/string4.shtml

您应该查看以下jQuery选择器和函数来访问类

选择

http://api.jquery.com/class-selector/ 选择具有指定类的dom元素

http://api.jquery.com/has-selector/ 选择具有指定选择器的dom元素

功能

http://api.jquery.com/addClass/ 将类添加到jQuery对象的方法

http://api.jquery.com/removeClass/ 方法将类删除到jQuery对象

http://api.jquery.com/toggleClass/ 将类切换为jQuery对象的方法

http://api.jquery.com/hasClass/ 方法检查jQuery对象是否具有指定的类

http://api.jquery.com/attr/ 方法来检索jQuery对象的属性

编辑: 好的备忘单

在此输入图像描述


Yeh*_*lam 5

作为替代方案,使用data-*html属性来跟踪状态总是更好的做法,例如$("div.example").data("active")