Empecé a usar el kit de herramientas de Wijmo y encontré bastantes selectores de ejemplo similares a este en sus páginas de documentación:
$(":input[type='radio']").wijradio();
Hubiera escrito el mío así:
$('input[type=radio]').wijradio();
¿Estos hacen lo mismo o hay algo que me falta?
Tenga en cuenta que hay dos diferencias anteriores: el primer selector tiene como prefijo dos puntos y comillas para el tipo de entrada.
jquery
jquery-selectors
Morten Mertner
fuente
fuente
:input
selector especializado , mientras que el otro es unElement
selector genérico .Respuestas:
:input
es una extensión de jQuery mientras queinput
es un selector de CSS.textarea
,button
Yselect
los elementos se corresponden con el primero, pero no el último.Este último es más rápido, así que utilícelo para su
radio
ejemplo específico . Úselo:input
cuando desee "todos los elementos del formulario", incluso si no son estrictamente<input>
etiquetas. Incluso en ese caso, la recomendación es usar primero un selector CSS estándar y luego usarlo.filter(':input')
en ese conjunto.En la fuente 1.7.2, el filtro de entrada prueba una expresión regular con el nombre de nodo:
input: function( elem ) { return (/input|select|textarea|button/i).test( elem.nodeName ); },
fuente
[type=]
con:input
porque si estoy buscando un tipo específico, usar:input
para obtenerlos todos primero parece el camino más largo. Para los selectores de CSS puro, tengo entendido que las comillas son estándar, pero los navegadores son indulgentes. Puede probarlo rápidamente con / sin aquí reference.sitepoint.com/css/css3attributeselectors/demofirst select the elements using a pure CSS selector, then use .filter(":input").
?el
$("input")
selector elegirá solo elementos del tipo inputmientras que el
$(":input")
selector capturará todos los elementos de entrada (como textarea, select, input, etc.)para obtener más información, consulte la documentación oficial de jQuery sobre el
:input
selector en:http://api.jquery.com/input-selector/
fuente
El
:input
selector básicamente selecciona todos losform
controles (entrada, área de texto, elementos de selección y botón) mientras que elinput
selector selecciona todos los elementos por nombre de etiquetainput
.Dado que el botón de opción es un
form
elemento y también usa unainput
etiqueta, ambos se pueden usar para seleccionar el botón de opción. Sin embargo, ambos enfoques difieren en la forma en que encuentran los elementos y, por lo tanto, cada uno tiene diferentes beneficios de rendimiento.fuente