获取对象的“class”属性,将其拆分为字符串数组

序言:我是意大利人,抱歉我的英语不好。

所以这就是问题:

考虑像这样的HTML对象:

如何从“div”元素的“class”属性中使用jquery获取字符串数组?

例:

 var a = $('#myDiv').getClassArray(); //Not working,just an example return a; //[c1,c2,c3,c4,c5] 

我以为我可以阅读“class”属性然后拆分字符串,但它看起来太冗长了,我想知道是否有更短更优雅的方法。

你需要#作为id 选择器并使用split()从字符串中获取数组。

现场演示

 var a = $('#myDiv').attr('class').split(' '); 

您可以使用for循环的jQuery jQuery.each()遍历数组。

 var a = $('#myDiv').attr('class').split(' '); $.each(a, function(index, item){ alert(item); });​ 

新的标准classList属性允许对DOM元素进行如此简单的访问(例如,通过jQuery中的$('#myDiv')[0].classList ),但它并未普遍实现。 有关此标准的文档,请参阅此处或此处获取当前浏览器支持。

在bug 7378中为jQuery提供了像shim这样的function,但被拒绝了。

但是,您可以通过垫片获得此类支持,例如https://github.com/eligrey/classList.js

更新 :带有垫片的演示在http://jsfiddle.net/brettz9/WWs5B/1/

你为什么不试试这个: http : //jsfiddle.net/egZ2z/

 var cls = $('#myDiv').attr('class'); var n = cls.split(' ') alert(n);