Как получить второй класс из двух доступных с помощью jQuery

Мне нужно получить второй класс от элемента, который имеет два разных класса, поэтому я пытаюсь split метод, но что-то не так, ты можешь мне помочь?

js_kp_main_list.find('li#kp_r_04').addClass('class_01 class_02');
setTimeout(function(){
    var class_two = js_kp_main_list.attr("class").split(' ')[2];
    console.log(class_two);
},20);

2 ответа

Решение

Вы можете использовать className native JS:

js_kp_main_list[0].className.split(' ')[1]; // holds second class

РЕДАКТИРОВАТЬ: еще один надуманный пример http://jsfiddle.net/KqXmN/

HTML

<div id="mydiv" class="class1 class2"></div>

JS

var $mydiv = $('#mydiv');

//logs "class2"
console.log($mydiv[0].className.split(' ')[1]);

Индексы начинаются с 0 в JavaScript, и вам нужно использовать className атрибут:

HTML

<div id="test" class="foo bar"></div>

JavaScript

var elem = document.getElementById('test');

var classes = elem.className.split(' ');
console.log(classes);

var firstClass = classes[0];
var secondClass = classes[1];
// ...

JSFiddle

http://jsfiddle.net/9Nu9G/

Другие вопросы по тегам