Я не могу понять, как получить class
значение выбранного элемента.
Когда я использую код ниже, я каждый раз получаю «узел-205» .
JQuery:
.find('> ul')
.tabs(
{
selectedClass: 'active',
select: function (event, ui) {
//shows only the first element of list
$(this).children('li').attr('class');
},
cookie: { expires: 0 },
fx: fx
})
HTML:
<ul class="tabs">
<li class="node-205"></li>
<li class="node-150"></li>
<li class="node-160"></li>
</ul>
Ответы:
Вот быстрый пример jQuery, который добавляет событие click к каждому тегу "li", а затем извлекает атрибут класса для элемента clicked. Надеюсь, поможет.
Точно так же вам не нужно оборачивать объект в jQuery:
А в новых браузерах вы можете получить полный список имен классов :
Вы можете эмулировать
classList
в старых браузерах, используяmyClass.split(/\s+/);
источник
источник
Я видел этот вопрос, поэтому я подумал, что мог бы расширить его немного больше. Это расширение идеи, которая была у @SteveFenton. Вместо привязки
click
события к каждомуli
элементу было бы более эффективно делегировать событияul
снизу вверх.Для jQuery 1.7 и выше
Документация:
.on()
Для jQuery 1.4.2 - 1.7
Документация:
.delegate()
В крайнем случае для jQuery 1.3 - 1.4
или
Документация:
.live()
источник
Это должно сделать трюк:
Для получения дополнительной информации о ui.tab см http://jqueryui.com/demos/tabs/#Events
источник
Все предоставленные решения заставляют вас заранее знать элемент, на который вы нажмете . Если вы хотите получить класс из любого элемента, на который вы нажали, вы можете использовать:
источник
$(e.target)
вместо,$('#' + e.target.id)
и jQuery все равно будет разумно обрабатывать этот случай.источник