Sí, .eq()es más apropiado para la pregunta del OP. :eq()se usa dentro del parámetro string para $, mientras que .eq()es un método en un objeto jQuery existente.
mjswensen
55
Juro que tengo que ir y buscar esto cada vez . sola . tiempo .
ivarni
3
@JoelWorsham Depende del comportamiento deseado. $('select').find('option').eq(n)básicamente ignorará la agrupación y obtendrá todas las opciones como un todo. Si lo desea por grupo, es necesario algo como esto:$('select').find('optgroup').each(function() { $(this).find('option').eq(n)...; })
Dykam
44
"¿Por qué no explorar primero la página de selectores (cortos)?" - Debido a que "eq" es un nombre muy malo y regularmente lo omito ya que la ecuación para mí significa comparación ...
Estaba buscando rebanada, pero no estaba seguro de cómo buscar. Gracias por ir más allá de lo requerido en la pregunta original.
Samik R
44
Para las personas que tropiezan con esta respuesta, un punto útil a tener en cuenta es que el selector de enésimo hijo está basado en 1 mientras que: eq o .eq () están basados en 0
Sudhanshu Mishra
1
Debería usar en .eq()lugar de en :eq()realidad. Ligero aumento de rendimiento.
Si ya tiene el objeto jquery en una variable, también puede tratarlo como una matriz indexada normal, sin el uso de jquery:
var all_rows = $("tr");for(var i=0; i < all_rows.length; i++){var row = all_rows[i];//additionally, you can use it again in a jquery selector
$(row).css("background-color","black");}
Aunque el ejemplo anterior no es útil de ninguna manera, representa cómo puede tratar los objetos creados por jquery como matrices indexadas.
Correcto, y una pista más (con suerte útil): si la fila contiene una lista de <select>elementos, y desea el elemento del cuadro combinado seleccionado, use$(row).val();
Matt
2
Si entiendo su pregunta correctamente, siempre puede ajustar la función get de esta manera:
Entonces, desde el bucle de código anterior se ejecuta y queremos seleccionar un campo particular para eso, tenemos que usar la selección jQuery que puede seleccionar solo el elemento esperado del bucle anterior, por lo que el código será
Sin embargo, para las iteraciones, usar un selector no parece tener sentido:
var some = $('...');for( i = some.length -1; i>=0;--i ){// Have to transform in a jquery object again://var item = $( some[ i ]);// use item at will// ...}
"$ (function () {" primero de otoño, he creado una función anónima, que se disparó automáticamente. Dentro de eso, encontré tres div principales usando hermanos. Luego iteré en los 3 div primarios y verifiqué la longitud de la longitud de cada hijo. Cómo puedo identificar si es un último div o no en el padre. Ahora estoy alertando al último div html de cada 3 div padre principal.
Sanjay Verma
Puedes editar tu respuesta, en lugar de dar información en los comentarios :)
.eq()
eso en lugar de:eq()
?.eq()
es más apropiado para la pregunta del OP.:eq()
se usa dentro del parámetro string para$
, mientras que.eq()
es un método en un objeto jQuery existente.$('select').find('option').eq(n)
básicamente ignorará la agrupación y obtendrá todas las opciones como un todo. Si lo desea por grupo, es necesario algo como esto:$('select').find('optgroup').each(function() { $(this).find('option').eq(n)...; })
Puede usar el selector : eq , por ejemplo:
O la función eq (int) :
Además, recuerde que los índices están basados en cero.
fuente
:nth()
selector, que no debe confundirse con:nth-child()
si tiene control sobre la consulta que construye el objeto jQuery, use
:eq()
Si no tiene control sobre él (por ejemplo, se pasa de otra función o algo), use
.eq()
O si desea una sección de ellos (digamos, los elementos tercero, cuarto y quinto), use
.slice()
fuente
.eq()
lugar de en:eq()
realidad. Ligero aumento de rendimiento.Creo que puedes usar esto
Encuentra el segundo li en cada ul coincidente y lo anota.
fuente
.eq () -Un número entero que indica la posición del elemento basada en 0.
Ex:
Considere una página con una lista simple:
Podemos aplicar este método al conjunto de elementos de la lista:
Para más información: .eq ()
fuente
Si ya tiene el objeto jquery en una variable, también puede tratarlo como una matriz indexada normal, sin el uso de jquery:
Aunque el ejemplo anterior no es útil de ninguna manera, representa cómo puede tratar los objetos creados por jquery como matrices indexadas.
fuente
<select>
elementos, y desea el elemento del cuadro combinado seleccionado, use$(row).val();
Si entiendo su pregunta correctamente, siempre puede ajustar la función get de esta manera:
fuente
eq()
que te ofrece de forma gratuita.Si desea obtener un elemento / nodo particular o una etiqueta en bucle, por ejemplo,
Entonces, desde el bucle de código anterior se ejecuta y queremos seleccionar un campo particular para eso, tenemos que usar la selección jQuery que puede seleccionar solo el elemento esperado del bucle anterior, por lo que el código será
p.ej
así como por otro método
pero el primer método es más eficiente cuando
HTML <tag>
tiene un nombre de clase único.NOTA: El segundo método se usa cuando no hay un nombre de clase en el elemento o nodo de destino.
para más información, siga https://api.jquery.com/eq/
fuente
Sin embargo, para las iteraciones, usar un selector no parece tener sentido:
fuente
Ejemplo en vivo para acceder y eliminar el enésimo elemento con jQuery:
Cuando se ejecuta, hay dos elementos en la lista ordenada que se muestran, Primero y Tercero. El segundo estaba oculto.
fuente
fuente