2009-07-27 9 views

Respuesta

59
$('#uploadChoice div').click(function(event) { 
    var index = $(this).index(); 
}); 
+1

marcas superiores mi amigo! :) – Stephen

+1

Demasiado simple. ¡Gracias una tonelada! –

0

Usted puede obtener el contenido del div con

$("#uploadChoice div").click(function(){ 
    var choice = $(this).html; 
} 

Y luego simplemente hacer una declaración switch o algunos ifs anidados.

Personalmente, sin embargo, agregaría una ID a cada uno de los divs y simplemente verificaría la ID del elemento en el que se hizo clic.

+0

¿Puedo preguntar por qué se votó negativamente? Ciertamente se ocupa de lo que el cartel original estaba pidiendo. De hecho, brinda dos opciones para identificar en qué opción hizo clic el usuario. Además, esta solución permitiría al usuario reordenar sus botones sin tener que cambiar ningún código, ya que usa el valor (o ID) de los botones en lugar de su posición relativa. – idrumgood

+0

Ah, creo que entiendo. El OP buscaba específicamente una forma de hacer esto usando 'eq', por lo que mis soluciones no satisfacían eso. No importa. – idrumgood

5

Una alternativa más fácil que no requiere la duplicación de un selector es el siguiente

$('#uploadChoice div').click(function(event) { 
    var index = $(this).prevAll().length; 
}); 
+0

¡Agradable! Tristemente dejaré las marcas, ya que me llegó más rápido :) ¡Gracias por la ayuda! – Stephen

+0

Las marcas son la mejor solución. No es el más rápido :) Imagina que viniste aquí a través de google. ¿Qué respuesta te gustaría ver? – redsquare

+0

Definitivamente brianng ahora has dicho eso;) :) – Stephen

2

Puede agregar selectores también, y pasar a "$ (this)" como argumento:

$(document).on('click', 'button.testbutton', function() { 
 
    
 
    var index = $('div.example > div.xyz').find('button.testbutton').index($(this)); 
 

 
});

Cuestiones relacionadas