No puedo entender cómo obtener el classvalor 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
classListen 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
clickevento a cadalielemento, sería más eficiente delegar los eventos desdeulabajo.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