jQuery attr-возвращает несколько классов, а не только 1-й

учитывая div, такие как:

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

Я хотел бы быть abe, чтобы использовать jQuery $(div).attr('class');

чтобы найти все классы, но JQUERY.только до возвращения виджет. Есть ли способ с помощью JQUERY вернуть все классы, определенные для элемента?

спасибо

4 ответов


какие у вас будут работать, вот быстрая демонстрация:

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", так как это класс первый согласующего элемента.


Ник упомянул, используя .each ()...

...но ... более простым способом может быть итерация через .split ():

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

...тогда вы просто имеете дело с старые массив строк javascript


.attr ('class') вернет все классы, определенные для элемента. Визуальный стиль определяется не только классами, но и свойствами css. Вы также можете провести опрос для них .css ('param-name')