No puedo entender cómo obtener el class
valor del elemento seleccionado.
Cuando uso el siguiente código, obtengo "node-205" cada vez.
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>
Respuestas:
Aquí hay un ejemplo rápido de jQuery que agrega un evento click a cada etiqueta "li", y luego recupera el atributo de clase para el elemento cliqueado. Espero eso ayude.
Igualmente, no tiene que envolver el objeto en jQuery:
Y en los navegadores más nuevos puede obtener la lista completa de nombres de clase :
Puede emular
classList
en navegadores antiguos usandomyClass.split(/\s+/);
fuente
fuente
Vi esta pregunta, así que pensé que podría ampliarla un poco más. Esta es una expansión de la idea que tuvo @SteveFenton. En lugar de vincular un
click
evento a cadali
elemento, sería más eficiente delegar los eventos desdeul
abajo.Para jQuery 1.7 y superior
Documentación:
.on()
Para jQuery 1.4.2 - 1.7
Documentación:
.delegate()
Como último recurso para jQuery 1.3 - 1.4
o
Documentación:
.live()
fuente
Esto debería funcionar:
Para obtener más información sobre ui.tab, consulte http://jqueryui.com/demos/tabs/#Events
fuente
Todas las soluciones proporcionadas te obligan a conocer de antemano el elemento en el que harás clic . Si desea hacer clic en la clase de cualquier elemento , puede usar:
fuente
$(e.target)
lugar de$('#' + e.target.id)
y jQuery aún manejará este caso razonablemente.fuente