2010-09-27 71 views
2


我尝试阅读所有课程。Jquery - 阅读全部课程

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

我把我们的'功能()'和它工作得很好(HTTP ://www.jsfiddle.net/AQgqU/10/)。 cc @rantanplan – 2012-11-14 10:28:55

回答

10

你可以这样说:

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函数删除任何空间。

+4

我想你应该''.trim()'它并且用'/ \ s + /'分割。 – kennytm 2010-09-27 09:31:37

+0

嗨Sarfraz,非常感谢你的快速答案! – Peter 2010-09-27 09:33:10

+0

@彼得:欢迎... – Sarfraz 2010-09-27 12:07:13

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/