2012-05-13 11 views
14
$('#button').click(function() { 
    alert($('.column').val()); 
}); 

¿Cómo puedo obtener el primer, segundo o tercer elemento en .column?JQuery obtener el enésimo elemento de la matriz

+0

desea que el primer, segundo o tercer significado, cualquiera de los tres? ¿O los quieres a todos? ¿Y se refiere a tres elementos con la clase '.column', o tres elementos * dentro de * un elemento' .column' primario? – Sampson

Respuesta

26
$('#button').click(function() { 
    alert($('.column').eq(0).val()); // first element 
    alert($('.column').eq(1).val()); // second 
    alert($('.column').eq(2).val()); // third 
}); 
3

utilizar la función Slice(): http://api.jquery.com/slice/

Véase la pregunta: How to select a range of elements in jQuery

$('.column').slice(0, 2).each(function() { 
    $(this).val(); /* my value */ 
}); 
+0

Slice podría hacerlo, pero esa función es realmente ideal para seleccionar un rango de índices. Sin duda, hay una función óptima para seleccionar un solo índice? – Norse

+0

te refieres a nth-child o eq()? Dijiste que querías los primeros 3, tal vez me malinterpretaste, ¿pero esa parece ser la definición de un rango de índices? – Jeff

6

me gusta cadenas selector, por lo que suelen hacer esto:

$('.column:eq(3)') // Fourth .column element 
+1

Me gustan exclusivamente por el estilo, pero debe tenerse en cuenta que los documentos de jQuery recomiendan .eq() sobre: ​​eq() para el rendimiento en los navegadores modernos: http://api.jquery.com/eq-selector/ – Jeff

1

Puedes usar el :lt selector (menos que) y decirle que desea 0, 1, and 2 indicando todas .column elementos por debajo índice 3:

$("#button").on("click", function(){ 
    $(".column:lt(3)").each(function(){ 
    alert(this.value); 
    }); 
}); 

Demostración: http://jsbin.com/icevih/edit#javascript,html

Cuestiones relacionadas