我正在尝试以下列方式从HTML元素中读取所有类名。但它不起作用:
HTML
<div id="test" class="fff aaa ccc" >hello world</div>
JS
if ($('#test').attr('class') != '')
{
// Read classes
var all_classes = $('#test').attr('class');
// Output
$('body').append('Classnames: '+all_classes+' ');
}
示例 http://www.jsfiddle.net/AQgqU/8/
有人能帮助我吗?
答案 0 :(得分:12)
你可以这样做:
var classes = $('#test').attr('class').split(' ');
alert(classes[0]); // first class
alert(classes[1]); // second class
alert(classes[2]); // third class
或者您可以使用循环:
for(var i = 0; i < classes.length; i++) {
alert(classes[i]);
}
<强>更新强>
正如@KennyTM所建议的那样,上面的代码可能会有一个类名的空间。您可以使用jQuery的$.trim
函数删除任何空格。
答案 1 :(得分:2)
您的功能正常,但最后会出现语法错误:
$(function()
{
// Has the #test a Class?
if ($('#test').attr('class') != '')
{
// Read classes
var all_classes = $('#test').attr('class');
// Output
$('body').append('Classnames: '+all_classes+' ');
}
}):
//^ There's a colon just here, should be a semi-colon ;
这是你固定的小提琴:http://www.jsfiddle.net/AQgqU/12/