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

AnA*_*ice 6 jquery attributes class

鉴于如下div:

<div class="widget block dock clock">yada yada</div>
Run Code Online (Sandbox Code Playgroud)

我想成为使用JQUERY的人 $(div).attr('class');

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

谢谢

Nic*_*ver 15

您目前的工作是什么,这是一个快速演示:

alert($("div").attr("class"));? //alerts "widget block dock clock"
Run Code Online (Sandbox Code Playgroud)

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

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

例如,像这样:

<div class="widget">yada yada</div>
<div class="widget block dock clock">yada yada</div>?
Run Code Online (Sandbox Code Playgroud)

只会"widget"发出警报,因为那是第一个匹配元素的类.


jdz*_*ian 5

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

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

(this).attr("class").split(" ")
Run Code Online (Sandbox Code Playgroud)

...那么你只是处理一个普通的旧 javascript字符串数组