【问题标题】:jQuery's attr - return multiple classes not just the 1stjQuery 的 attr - 返回多个类,而不仅仅是第一个
【发布时间】:2011-02-18 17:44:39
【问题描述】:

给定一个 div,例如:

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

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

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

谢谢

【问题讨论】:

  • jQuery attr 应该返回整个字符串。你确定你的代码是正确的吗?

标签: jquery class attributes


【解决方案1】:

使用 .each()...

提到尼克

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

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

...那么你只是在处理一个 plain old javascript 字符串数组

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

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

      轮询他们

      【讨论】:

        【解决方案4】:

        您目前拥有的将起作用,here's a quick demo

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

        请记住,.attr()第一个匹配的元素上返回该属性,来自文档:

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

        例如,像这样的:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-01-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-04-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多