Подтвердить что ты не робот

Как получить все классы CSS элемента?

У меня есть элемент с несколькими классами, и я бы хотел получить его классы css в массиве. Как мне это сделать? Что-то вроде этого:

var classList = $(this).allTheClasses();
4b9b3361

Ответ 1

Не нужно использовать jQuery для него:

var classList = this.className.split(' ')

Если вы по какой-то причине хотите сделать это из объекта jQuery, эти два решения тоже работают:

var classList = $(this)[0].className.split(' ')
var classList = $(this).prop('className').split(' ')

Конечно, вы можете переключиться на режим развития overkill и написать для него плагин jQuery:

$.fn.allTheClasses = function() {
    return this[0].className.split(' ');
}

Затем $(this).allTheClasses() предоставит вам массив, содержащий имена классов.

Ответ 3

Это должно сделать для вас работу:

var classes = $('div').attr('class').split(" ");

Это будет решение jQuery для других решений, есть другие ответы!

Ответ 4

Проверьте это:

var classes = $('selector').prop('classList');

Ответ 5

function showClasses() {
  const div = document.querySelector('div');
  const classes = div.className.split(' ');

  const p = document.querySelector('p');
  p.innerHTML = classes;
}
<div class="foo bar">This div has foo, bar classes</div>
<p class='output'>Above div classes appear here</p>
<button onClick="showClasses();">Show div classes</button>