jQuery attr - 返回多个类而不仅仅是第一个

时间:2010-05-12 16:44:40

标签: jquery class attributes

给出如下的div:

<div class="widget block dock clock">yada yada</div>

我想要使用JQUERY的$(div).attr('class');

查找所有类,但JQUERY.attr只返回小部件。有没有办法让JQUERY返回为元素定义的所有类?

由于

4 个答案:

答案 0 :(得分:15)

您目前的工作是什么,here's a quick demo

alert($("div").attr("class"));​ //alerts "widget block dock clock"

要记住的是.attr()从文档中返回第一个匹配元素上的该属性:

  

请务必注意,.attr()方法仅获取匹配集中第一个元素的属性值。为了单独获取每个元素的值,我们需要依赖循环结构,例如jQuery的.each()方法。

例如,像这样:

<div class="widget">yada yada</div>
<div class="widget block dock clock">yada yada</div>​

仅提醒"widget",因为这是第一个匹配元素的类。

答案 1 :(得分:5)

尼克提到使用 .each() ...

...但是...更简单的方法可能是通过 .split()进行迭代:

(this).attr("class").split(" ")

...然后你只是处理一个普通的 javascript字符串数组

答案 2 :(得分:2)

.attr('class')将返回为该元素定义的所有类。视觉样式不仅由类定义,还由css属性定义。您可能还想使用.css('param-name')

进行轮询

答案 3 :(得分:2)