Zacząłem używać zestawu narzędzi Wijmo i natknąłem się na kilka przykładowych selektorów podobnych do tego na ich stronach z dokumentacją:
$(":input[type='radio']").wijradio();
Mój napisałbym tak:
$('input[type=radio]').wijradio();
Czy to działa tak samo, czy czegoś mi brakuje?
Zauważ, że powyżej są dwie różnice: pierwszy selektor jest poprzedzony dwukropkiem i zawiera cudzysłowy dla typu danych wejściowych.
jquery
jquery-selectors
Morten Mertner
źródło
źródło
:input
selektor specjalistyczny , a drugi toElement
selektor ogólny .Odpowiedzi:
:input
jest rozszerzeniem jQuery, podczas gdyinput
jest selektorem CSS.textarea
,button
aselect
elementy zostaną dopasowane przez pierwszy, ale nie przez drugi.To drugie jest szybsze, więc użyj go w swoim konkretnym
radio
przykładzie. Użyj,:input
gdy chcesz mieć „wszystkie elementy formularza”, nawet jeśli nie są one ściśle<input>
tagami. Nawet w takim przypadku zaleca się, aby najpierw użyć standardowego selektora CSS, a następnie użyć.filter(':input')
tego zestawu.W źródle 1.7.2 filtr: input testuje wyrażenie regularne w odniesieniu do nodeName:
input: function( elem ) { return (/input|select|textarea|button/i).test( elem.nodeName ); },
źródło
[type=]
z,:input
ponieważ jeśli szukam konkretnego typu, użycie:input
ich wszystkich wydaje się być dalekie. W przypadku czystych selektorów CSS rozumiem, że cudzysłowy są standardowe, ale przeglądarki wybaczają. Możesz to szybko przetestować z / bez tutaj reference.sitepoint.com/css/css3attributeselectors/demofirst select the elements using a pure CSS selector, then use .filter(":input").
?$("input")
selektor będzie wybierać tylko elementy typu wejściapodczas gdy
$(":input")
selektor przechwyci wszystkie elementy wejściowe (takie jak textarea, select, input etc ...)Aby uzyskać więcej informacji, przejdź do oficjalnej dokumentacji jQuery na temat
:input
selektora pod adresem:http://api.jquery.com/input-selector/
źródło
:input
Selektor zasadzie wybiera wszystkieform
kontrolki (wejście, textarea, wybierz i elementy przycisk), gdzie jakoinput
wybiera selektora wszystkie elementy według nazwy znacznikainput
.Ponieważ przycisk radiowy jest
form
elementem, a także używainput
tagu, więc oba mogą być używane do wybierania przycisku opcji. Jednak oba podejścia różnią się sposobem znajdowania elementów, a zatem każde z nich ma inne korzyści w zakresie wydajności.źródło