Получить имя класса с помощью jQuery - PullRequest
565 голосов
/ 08 марта 2010

Я хочу получить имя класса, используя jQuery

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

<div class="myclass"></div>

Ответы [ 17 ]

2 голосов
/ 16 февраля 2017

Попробуйте

HTML

<div class="class_area-1">
    area 1
</div>

<div class="class_area-2">
    area 2
</div>

<div class="class_area-3">
    area 3
</div>

JQuery

<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script type="application/javascript">
    $('div').click(function(){
        alert($(this).attr('class'));
    });
</script>
2 голосов
/ 07 февраля 2017

Если вы хотите получить классы div, а затем хотите проверить, существует ли какой-либо класс, просто используйте.

if ( $('#div-id' ).hasClass( 'classname' ) ) {
    // do something...
}

например,

if ( $('body').hasClass( 'home' ) ) {
    $('#menu-item-4').addClass('active');
}
2 голосов
/ 09 мая 2015

Если вы не знаете имя класса, НО вы знаете идентификатор, вы можете попробовать это:

<div id="currentST" class="myclass"></div>

Затем позвоните, используя:

alert($('#currentST').attr('class'));
0 голосов
/ 31 мая 2019

используйте так: -

$(".myclass").css("color","red");

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

$(".myclass").each(function (index, value) {
//do you code
}
0 голосов
/ 31 мая 2019

Если у нас есть код:

<div id="myDiv" class="myClass myClass2"></div> 

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

$.fn.class = function(){
  return Array.prototype.slice.call( $(this)[0].classList );
}

или

 $.fn.class = function(){
   return $(this).prop('class');
 } 

Использование метода будет:

$('#myDiv').class();

Мы должны заметить, что он вернет список классов в отличие от нативного метода element.className, который возвращает только первый класс прикрепленных классов. Поскольку к элементу часто присоединяется более одного класса, я рекомендую вам не использовать этот собственный метод, а element.classlist или метод, описанный выше.

Первый вариант вернет список классов в виде массива, второй в виде строки - имена классов, разделенные пробелами:

// [myClass, myClass2]
// "myClass myClass2"

Еще одно важное замечание: оба метода, а также метод jQuery

$('div').prop('class');

возвращает только список классов первого элемента, перехваченного объектом jQuery, если мы используем более общий селектор, который указывает на множество других элементов. В таком случае мы должны пометить элемент, мы хотим получить его классы, используя некоторый индекс, например,

$('div:eq(2)').prop('class');

Это также зависит от того, что вам нужно делать с этими классами. Если вы хотите просто проверить класс в списке классов элемента с этим идентификатором, вам просто нужно использовать метод hasClass:

if($('#myDiv').hasClass('myClass')){
   // do something
}

как указано в комментариях выше. Но вам может потребоваться взять все классы как селектор, а затем использовать этот код:

$.fn.classes = function(){
   var o = $(this);
   return o.prop('class')? [''].concat( o.prop('class').split(' ') ).join('.') : '';
 } 

 var mySelector = $('#myDiv').classes();

Результат будет:

// .myClass.myClass2

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

Привет

0 голосов
/ 03 апреля 2019

Лучший способ получить имя класса в javascript или jquery

attr() Функция атрибута используется для получения и установки атрибута.


Получить класс

jQuery('your selector').attr('class');  // Return class

Проверить класс существует или нет

The hasClass() method checks if any of the selected elements have a specified class name.

 if(jQuery('selector').hasClass('abc-class')){
        // Yes Exist
    }else{
        // NOt exists
    }

Установить класс

jQuery('your selector').attr('class','myclass');  // It will add class to your selector

Получить класс по нажатию кнопки, используя jQuery

jQuery(document).on('click','button',function(){
     var myclass = jQuery('#selector').attr('class');
});

Добавить класс, если у селектора нет класса, используя jQuery

if ( $('#div-id' ).hasClass( 'classname' ) ) {
        // Add your code
    }

Получить второй класс в несколько классов, используя элемент

Change array position in place of [1] to get particular class.

var mysecondclass = $('#mydiv').attr('class').split(' ')[1];
0 голосов
/ 02 февраля 2017

если у нас есть один или мы хотим первый div элемент, который мы можем использовать

$('div')[0].className в противном случае нам понадобится id этого элемента

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...