Escribí un código que básicamente selecciona todos los input type=text
elementos como este:
$('.sys input[type=text]').each(function () {}
¿Cómo lo cambio para seleccionar input[type=text]
o select
?
javascript
jquery
Jack
fuente
fuente
context form
está utilizandofind form
,find form
es más eficiente quecontext form
(se evita una función de llamada). Esto es válido para casi todos los selectores utilizados. Entonces, IMO,find form
es más eficiente quenormal CSS selector
, porque ambas partes del selector son relativas al nodo raíz, mientras que enfind form
, solo la.sys
parte es relativa a él, luegoinput[type=text],select
se ejecuta en un conjunto de elementos mucho más pequeño, por lo que puede ser más rápido (pero es necesario que esto se verifique mediante pruebas)$
llamada es tan importante para tu aplicación, evita usar jQuery por completo :). Esta respuesta intentó responder a la pregunta de OP, si hubiera sido una cuestión de rendimiento, esta respuesta no estará aquí en primer lugar. Gracias de todos modos por el comentario :), lo agradezco$
llamada perf a one , sino sobre todas las$
llamadas presentes en una aplicación. En mi opinión, cuando tienes diferentes formas de hacer lo mismo, trato de elegir siempre la que funciona mejor bc.slow performance
===unhappy users
. Además, ambos podemos responder la pregunta de un OP con múltiples respuestas (como lo hizo usted) y proporcionar ventajas / inconvenientes de cada una de ellas (como hice en el comentario). En mi opinión, es importante darse cuenta de por qué todas las respuestas son diferentes y, al mismo tiempo, proporcionan el mismo resultado. Además, podemos escribir código JavaScript vanilla queJavaScript
performance
$
, clasifica tus divs específicamente y usadocument.getElemenById/ElementsByClassName
, en lugar de pasar por lo$
que hace muchas comprobaciones / análisis de cadenas de tu selector, jQuery no es famoso por su biblioteca de alto rendimiento. Y, honestamente, no he visto que una aplicación se ralentice debido a que llamo a$
muchos, si tiene un sitio web que tiene ese problema, por favor muéstremelo, estoy muy interesado :)EDITAR: En realidad, este código anterior es equivalente al selector de niños
.sys > input[type=text]
si desea que el descendiente seleccione (.sys input[type=text]
) necesite usar las opciones dadas por @NiftyDude.Más información:
jQuery.children()
fuente
chilren
en lugar dechildren
Si tiene varias entradas como texto en un formulario o una tabla que necesita recorrer, hice esto:
Lo que hice fue verificar cada entrada para ver si el tipo está configurado en "texto", luego tomará ese elemento y lo almacenará en la lista de jQuery. Luego, iteraría a través de esa lista. Puede establecer una variable temporal para la iteración actual como esta:
Esto establecerá el elemento actual en la iteración actual de su para cada ciclo. Entonces puedes hacer lo que quieras con la variable temp.
¡Espero que esto ayude a alguien!
fuente
para bucle:
fuente