Получить имя класса с помощью jQuery

Я хочу получить имя <div class = "myclass" > </ div>, используя jQuery

И если у него есть идентификатор

var className = $ ( '#sidebar div: eq (14)' ). attr ( 'класс' ); = "defaultprintprint prettyprinted">.attr('id')

javascript,jquery,

536

Ответов: 14


< это . className // для классов, и это . id // для идентификаторов class = 'answer' id = '4263417' itemscope itemtype = 'http: //schema.org/Answer'>
966 ов принято

Получив элемент как объект jQuery другими способами, чем его класс, тогда

.hasClass()

должен сделать трюк. Для использования идентификатора class.

Если вы находитесь внутри обработчика события или другого метода jQuery, где этот элемент является чистым узлом DOM без оболочки, вы можете использовать:

class

Оба являются стандартными методами DOM и хорошо поддерживаются во всех браузерах.


ов 206 ов

Лучше использовать, когда вы хотите проверить, имеет ли элемент конкретный . Это связано с тем, что когда элемент имеет несколько, он не является тривиальным для проверки.<div id='test' class='main divhover'></div>classclass

Пример:

$('#test').attr('class');        // returns `main divhover`.

Где:

.hasClass()

С divмы можем проверить , если divесть класс divhover.

$('#test').hasClass('divhover'); // returns true
$('#test').hasClass('main');     // returns true

36 ов

Будьте осторожны, возможно, у вас есть класс и подкласс.

  <div id='id' class='myclass mysubclass' >dfdfdfsdfds</div>

Если вы используете предыдущие решения, у вас будет:

myclass mysubclass

Поэтому, если вы хотите иметь селектор классов , выполните следующие действия:

var className = '.'+$('#id').attr('class').split(' ').join('.')

и у вас будет

.myclass.mysubclass

Теперь, если вы хотите выбрать все элементы с таким же классом, как div выше:

   var brothers=$('.'+$('#id').attr('class').split(' ').join('.'))

это значит

var brothers=$('.myclass.mysubclass')

Обновление 2018 года

ИЛИ может быть реализована с помощью ванильного javascript в двух строках:

  const { classList } = document.querySelector('#id');
  document.querySelectorAll(`.${Array.from(classList).join('.')}`);

26

Это делается для того, чтобы получить второй класс в несколько классов, используя в элемент

var class_name = $('#videobuttonChange').attr('class').split(' ')[1];

15

вы можете просто использовать,

var className = $('#id').attr('class');

JavaScript, JQuery,
Похожие вопросы