Używam kodu takiego jak $('.elem',elem)
, $('.elem',elem).tabs()
.
służy do wybierania elementów z tą klasą.
Ale co dalej po przecinku? Jaki jest tego pożytek?
Używam kodu takiego jak $('.elem',elem)
, $('.elem',elem).tabs()
.
służy do wybierania elementów z tą klasą.
Ale co dalej po przecinku? Jaki jest tego pożytek?
$('.elem',elem)
jest $(elem).find('.elem')
. W rzeczywistości to właśnie robi z nią jQuery pod okładkami. Znajduje wszystkie elementy z klasą "elem"
, które są potomkami elementu elem
. To jest objęte . Warto poświęcić godzinę na przeczytanie tego od początku do końca. Istnieje wiele przydatnych rzeczy, które nie są dobrze znane. :-) (Nie mówię, że to jedna z nich [ja sam nie jestem jej fanem, niektórzy są], tylko że ogólnie jest tam wiele użytecznych rzeczy.)
wydaje się, że nie ma żadnej korzyści, aby użyć kontekstu ponad find(), czy to prawda? –
@roasted: Racja. * Cóż *, przypuszczam, że niektórzy zwracają uwagę, że jest to mniej znaków. :-) Ale kiedy mówię "to właśnie robi z nią jQuery pod kołdrą" mam na myśli dokładnie to: Dosłownie wykrywa, że zrobiłeś '$ ('. Elem', elem)' i przechodzi do '$ (elem) .find ('. elem') '. Zatem '$ ('. Elem', elem)' forma dodaje tylko inne wywołanie funkcji (nie to, że naprawdę ma znaczenie). –
To jest kontekst, w którym wyszukiwanie jest wykonywane.
To samo niż
$(elem).find('.elem')
Zobacz documentation here
Drugi parametr przekazywane do funkcji jQuery definiuje zakres lub kontekst pierwszego selektora.
Mówi jQuery, aby znaleźć wszystkie elementy o klasie elem
w elemencie dostarczonym w drugim parametrze. Elementy z klasą .elem
poza elem
nie zostaną wybrane.
Biorąc pod uwagę następujące HTML:
<div id="included">
<input/>
<input/>
</div>
<div id="excluded">
<input/>
<input/>
</div>
te selektory następujący wynik:
console.log($("input", "#included").length); //2 only those inside included
console.log($("input").length); //4 all inputs
przykład roboczych:http://jsfiddle.net/LE6eE/
Użyłem selektora z metodą .find(). ale $ (". elem", elem) działa dobrze niż .find(). Czy metoda find() jest przydatna, czy nie? – Natesan
Nie jestem pewien, czy specyfikacja kontekstu nie może tego zrobić. Myślę, że 'find' jest nieco bardziej intuicyjny i łatwiejszy do odczytania. –
Jest to [selektor kontekst] (http: // api.jquery.com/jQuery/#jQuery1), odpowiednik '$ (elem) .find ('. elem');' – billyonecan
Używam jQuery od prawie 2 lat b ut nie zwracał na to zbytniej uwagi. :) +1 –