Was ist der Zweck eines führenden Doppelpunkts in einem jQuery-Selektor?
Habe ich angefangen mit dem Wijmo-toolkit, und stieß auf durchaus ein paar Beispiel-Selektoren ähnlich wie diese in Ihrer Dokumentation Seiten:
$(":input[type='radio']").wijradio();
Ich würde geschrieben haben mir so:
$('input[type=radio]').wijradio();
Tun diese das gleiche tun oder ist es etwas, was ich bin fehlt?
Beachten Sie, dass es gibt zwei Unterschiede auf: der erste Selektor-Präfix mit einem Doppelpunkt und hat Angebote für die input-Typ.
InformationsquelleAutor der Frage Morten Mertner | 2012-05-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
:input
ist ein jQuery-Erweiterung währendinput
ist ein CSS-Selektor.textarea
button
undselect
Elemente übereinstimmen würde, die von der ehemaligen, nicht aber die letztere.Letzteres ist schneller, so verwenden Sie es für Ihre spezifischen
radio
Beispiel. Verwenden:input
wenn Sie wollen "alle form-Elemente", auch wenn Sie nicht streng<input>
- tags. Auch in diesem Fall, die Empfehlung ist die Verwendung eines standard-CSS-Selektor, dann nutzen Sie.filter(':input')
auf.In der 1.7.2 Quelle :input-filter-tests einen regulären Ausdruck gegen die nodeName:
InformationsquelleAutor der Antwort David Ruttka
den
$("input")
selector wählen Sie nur Elemente des Typs inputwährend der
$(":input")
selector fangen alle Eingänge von Elementen (z.B. textarea, select, input etc...)weitere Informationen finden Sie auf der offiziellen jQuery-Dokumentation über die
:input
selector:http://api.jquery.com/input-selector/
InformationsquelleAutor der Antwort Yaron U.
Den
:input
Selektor im Grunde wählt alleform
Steuerung(input, textarea, select und button-Elemente), wo alsinput
Selektor wählt alle Elemente nach tag-Nameninput
.Da radio-button ist ein
form
element und es wird auch verwendetinput
tag, so dass Sie beide verwendet werden können, wählen Sie " radio-button. Aber beide Ansätze unterscheiden sich durch die Art, wie Sie die Elemente und damit jeweils unterschiedliche performance-Vorteile.InformationsquelleAutor der Antwort ShankarSangoli