如何使用jquery获取类名

时间:2010-05-21 12:37:21

标签: jquery

假设我有这样的元素:

<div id="dv" class="red green blue">Something Here !!</div>

我用过这个:

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

但它同时给了我三个,我个别可能需要存储在一个数组中。

如何使用jquery获取每个类名?应该很简单吧?

5 个答案:

答案 0 :(得分:14)

var classNames = $('#dv').attr('class').split(' ');

如果您只需要知道某个元素是否拥有您可能想要使用的类

if( $('#dv').is('.green') ){
    alert('its green!');
}

if( $('#dv').hasClass('green') ){
    alert('its green!');
}

是派生函数。注意不同的符号

“。className”和“className”

答案 1 :(得分:8)

根据你的目标,有几种方法(你实际上需要一个数组,可能是一种更快的方法!)。

要获取类的数组,请使用.attr().split()

$('#dv').attr('class').split(' ') == ['red', 'green', 'blue']

要获取文字字符串,请使用.attr()

$('#dv').attr('class') == 'red green blue'

要检查班级使用.hasClass()

$('#dv').hasClass('red') == true

答案 2 :(得分:3)

该类是一个属性,因此您可以执行var classname=$("#dv").attr("class") 然后你可以将它拆分成一个var array=classname.split(" ");

的数组

答案 3 :(得分:1)

使用此

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

答案 4 :(得分:1)

使用attr()您可以设置或检索所需的任何属性。如果您有多个类,则可以使用split("separator")拆分attr为您提供的字符串。 Split为您提供了一个阵列。 $.each(array, function(i, data){})允许您为数组中的每个值执行某些操作。如果你把它放在一起就是结果:

$.each( $("#dv").attr("class").split(" "), function(i, data) {
    alert(data)
})

这里有一个代码演示: http://jsfiddle.net/Cq5JD/