假设我有这样的元素:
<div id="dv" class="red green blue">Something Here !!</div>
我用过这个:
alert($('#dv').attr('class'));
但它同时给了我三个,我个别可能需要存储在一个数组中。
如何使用jquery获取每个类名?应该很简单吧?
答案 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)
根据你的目标,有几种方法(你实际上需要一个数组,可能是一种更快的方法!)。
$('#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/