Tak, .eq()jest bardziej odpowiedni dla pytania PO. :eq()jest używany w parametrze ciągu do $, natomiast .eq()jest metodą na istniejącym obiekcie jQuery.
mjswensen
55
Przysięgam, że trzeba iść i szukać tego się każdy . singiel . czas .
ivarni
3
@JoelWorsham Zależy od pożądanego zachowania. $('select').find('option').eq(n)po prostu zignoruje grupowanie i uzyska wszystkie opcje jako całość. Jeśli chcesz na grupę, konieczne jest coś takiego:$('select').find('optgroup').each(function() { $(this).find('option').eq(n)...; })
Dykam
4
„Dlaczego nie przejrzysz najpierw (krótkiej) strony selektorów?” - Ponieważ „eq” to bardzo zła nazwa i regularnie
Jeśli masz już obiekt jquery w zmiennej, możesz również traktować go jak zwykłą tablicę indeksowaną, bez użycia jquery:
var all_rows = $("tr");for(var i=0; i < all_rows.length; i++){var row = all_rows[i];//additionally, you can use it again in a jquery selector
$(row).css("background-color","black");}
Chociaż powyższy przykład nie jest w żaden sposób przydatny, reprezentuje on, w jaki sposób można traktować obiekty utworzone przez jquery jako tablice indeksowane.
Dobra i jeszcze jedna (miejmy nadzieję przydatna) wskazówka: jeśli wiersz zawiera listę <select>elementów, a chcesz wybrany element combobox, użyj$(row).val();
Matt
2
Jeśli dobrze rozumiem twoje pytanie, zawsze możesz po prostu owinąć funkcję get w następujący sposób:
Tak więc, z powyższej pętli kodu jest wykonywana i chcemy, aby wybrane pole było wybrane, dlatego musimy użyć wyboru jQuery, który może wybrać tylko element oczekujący z powyższej pętli, więc kod będzie
W przypadku iteracji użycie selektora nie wydaje się jednak mieć żadnego sensu:
var some = $('...');for( i = some.length -1; i>=0;--i ){// Have to transform in a jquery object again://var item = $( some[ i ]);// use item at will// ...}
„$ (function () {” najpierw jesienią, stworzyłem anonimową funkcję, która uruchomiła się automatycznie. Wewnątrz znalazłem trzy rodzicielskie div przy użyciu rodzeństwa. Następnie wykonałem iterację we wszystkich 3 rodzicielskich divach i sprawdziłem długość każdej długości dziecka. Jak mogę rozpoznać, czy jest to ostatnia dywizja, czy nie w rodzicielskiej dywizji. Teraz ostrzegam html ostatniej dywizji o 3 głównych dywizjach rodzicielskich
Sanjay Verma
Możesz edytować swoją odpowiedź zamiast podawać informacje w komentarzach :)
.eq()
zamiast:eq()
?.eq()
jest bardziej odpowiedni dla pytania PO.:eq()
jest używany w parametrze ciągu do$
, natomiast.eq()
jest metodą na istniejącym obiekcie jQuery.$('select').find('option').eq(n)
po prostu zignoruje grupowanie i uzyska wszystkie opcje jako całość. Jeśli chcesz na grupę, konieczne jest coś takiego:$('select').find('optgroup').each(function() { $(this).find('option').eq(n)...; })
Możesz użyć selektora : eq , na przykład:
Lub funkcja eq (int) :
Pamiętaj też, że indeksy są zerowane.
źródło
:nth()
selektora - nie należy mylić:nth-child()
jeśli masz kontrolę nad zapytaniem, które buduje obiekt jQuery, użyj
:eq()
Jeśli nie masz nad tym kontroli (na przykład, jest przekazywany z innej funkcji lub czegoś), użyj
.eq()
Lub jeśli chcesz ich część (powiedzmy trzeci, czwarty i piąty element), użyj
.slice()
źródło
.eq()
zamiast:eq()
faktycznie. Niewielki wzrost wydajności.Myślę, że możesz tego użyć
Znajduje drugie li w każdym dopasowanym ul i zapisuje je.
źródło
.eq () - Liczba całkowita wskazująca pozycję elementu na podstawie 0.
Dawny:
Rozważ stronę z prostą listą:
Możemy zastosować tę metodę do zestawu elementów listy:
Aby uzyskać więcej informacji: .eq ()
źródło
Jeśli masz już obiekt jquery w zmiennej, możesz również traktować go jak zwykłą tablicę indeksowaną, bez użycia jquery:
Chociaż powyższy przykład nie jest w żaden sposób przydatny, reprezentuje on, w jaki sposób można traktować obiekty utworzone przez jquery jako tablice indeksowane.
źródło
<select>
elementów, a chcesz wybrany element combobox, użyj$(row).val();
Jeśli dobrze rozumiem twoje pytanie, zawsze możesz po prostu owinąć funkcję get w następujący sposób:
źródło
eq()
daje ci za darmo.Jeśli chcesz pobrać konkretny element / węzeł lub tag w pętli np
Tak więc, z powyższej pętli kodu jest wykonywana i chcemy, aby wybrane pole było wybrane, dlatego musimy użyć wyboru jQuery, który może wybrać tylko element oczekujący z powyższej pętli, więc kod będzie
na przykład
jak również inną metodą
ale pierwsza metoda jest bardziej wydajna, gdy
HTML <tag>
ma unikalną nazwę klasy.UWAGA: Drugą metodę stosuje się, gdy nie ma ona nazwy klasy w elemencie docelowym lub węźle.
Aby uzyskać więcej, odwiedź https://api.jquery.com/eq/
źródło
W przypadku iteracji użycie selektora nie wydaje się jednak mieć żadnego sensu:
źródło
Przykład na żywo, aby uzyskać dostęp i usunąć N-ty element za pomocą jQuery:
Po uruchomieniu na liście uporządkowanej znajdują się dwa elementy: Pierwszy i Trzeci. Drugi był ukryty.
źródło
źródło