W jaki sposób można uzyskać jQuery, aby zwrócił macierzyste elementy DOM, które hermetyzuje?Pobieranie macierzystych elementów DOM z obiektów jQuery?
Odpowiedz
Gdy znajdziesz elementy z jQuery, można dostać je za pomocą funkcji „Pobierz”:
var regularElement = $('#myElementId').get(0);
Wewnątrz „.each()” funkcja «to» wskaźnik odnosi się do «prawdziwego» element:
$('input.special').each(function() {
var type = this.type;
this.value = "exploding balloon";
// etc
})
Użycie jQuery nie powoduje, że JavaScript jest "inny". It jest Javascript, a DOM nadal jest DOMem.
Zajęło mi chwilę, aby zrozumieć, dlaczego używasz funkcji get() na obiekcie jquery, ale potem przeczytałem komentarze na temat samego pytania. Ma to sens teraz. Widzę, że funkcja get() jest przydatna podczas integracji z nie-jQuery JavaScript. –
Aaaand '$ ('# myElementId') [0]' działa również. – mattsven
$('myTag').get(0)
zwraca element HTML.
Zakładam, że próbujesz sprawdzić, czy twój obiekt jQuery jest pierwszym wystąpieniem "sera_tag". Pierwszy znacznik można znaleźć za pomocą selektora :first
, a następnie nie trzeba go porównywać. Na przykład, pierwszy tag div
będzie: $('div:first')
.
Aby uzyskać pełną listę selektorów jQuery, zobacz documentation.
Niezupełnie ... Chciałem uzyskać obiekt elementu HTML javascript jako powrót. – mattsven
Inne osoby już bezpośrednio odpowiedziały na pytanie. Użyj metody get().
Jednak większość czasu chcesz użyć metod jQuery do manipulacji, a nie do uzyskania dostępu do surowego elementu DOM, a następnie modyfikacji za pomocą "standardowego" JavaScript.
Na przykład za pomocą jQuery można po prostu powiedzieć $ ("mySelector"). AddClass ("myClass"), aby dodać klasę CSS do elementu DOM. Jest to o wiele bardziej skomplikowane (i zależne od przeglądarki) przy użyciu bezpośredniej manipulacji DOM. Ta koncepcja rozciąga się na prawie każdą inną manipulację DOM, którą chciałbyś zrobić.
jQuery używa Sizzle Selector Engine *. Możesz również użyć go samodzielnie.
* Potwierdzone Doug Neiner, co oznacza, że znajduje się w prawo;)
Dobrze! Po prostu dodaj sizzle.js, a następnie dodaj tę linię: 'window. $ = Window.Sizzle'. A '$ (" cheese_tag ")' zwróci '[
Co, nie "Jestem Doug Neiner i akceptuję tę odpowiedź"? Hehe. – Sampson
Jestem Doug Neiner i zatwierdzam tę odpowiedź –
Obiekt jQuery stanowi owinięcie tablicowej wokół jednego lub większej liczby elementów DOM. Aby uzyskać odwołanie do rzeczywistych elementów DOM (zamiast obiektu jQuery), masz dwie opcje. Pierwszy (i najszybciej) metodą jest użycie notacji tablicy:
$("#foo")[ 0 ]; // Equivalent to document.getElementById("foo")
Druga metoda polega na użyciu .get() Funkcja:
$("#foo").get(0); // Identical to above, only slower.
Można również zadzwonić .get()
bez żadnych argumentów, aby pobrać prawdziwa tablica elementów DOM.
Nie wiedziałem, że można nazwać tylko 'get()' dla tablicy. Miły. – mattsven
- 1. Dziedziczenie z obiektów macierzystych
- 2. selektory jquery dla zwykłych obiektów javascript zamiast elementów DOM
- 3. Wtyczka walidacji jQuery, umieszczanie błędów wewnątrz elementów macierzystych Bootstrap
- 4. jQuery: Pobieranie dwóch ostatnich elementów listy?
- 5. UserControl przy użyciu elementów macierzystych w wpf?
- 6. Factory Girl: Automatyczne przypisywanie obiektów macierzystych
- 7. Dodanie elementów DOM z jquery append() wydaje się przeciekać pamięć?
- 8. tworzenia json z elementów DOM przy użyciu jQuery
- 9. Dodawanie wielu elementów jQuery/DOM do pojedynczego obiektu jQuery
- 10. jQuery - Zachowanie tablicy js i listy obiektów DOM w zsynchronizowaniu?
- 11. Wyświetlanie elementów DOM jako obiektów w debugerze Chrome
- 12. Konwersja elementów DOM w obiekty
- 13. Włączanie/wyłączanie zdarzeń elementów DOM za pomocą JS/jQuery
- 14. jQuery show() nie jest funkcją - używane w dodawaniu elementów DOM
- 15. Dostęp do obiektów DOM okna nadrzędnego z jQuery DOMWindow z iFrame
- 16. jquery wydarzenie na żywo dla dodawanych elementów DOM
- 17. Używanie klonu jQuery poza DOM
- 18. Jakie są twoje ulubione prototypy obiektów macierzystych Mootools/Prototype?
- 19. Pobieranie nazw obiektów z poziomu funkcji
- 20. MongoDB pobieranie wybranych obiektów z zagnieżdżonych dokumentów
- 21. Dodawanie zmiennych do elementów DOM
- 22. Najlepszy sposób na tworzenie nowych elementów DOM
- 23. NHibernate Pobieranie obiektów bez proxy
- 24. Przodkowie jQuery za pomocą obiektów jQuery
- 25. Kapibara nie rozpoznaje dynamicznie dodanych elementów DOM?
- 26. jquery przy użyciu obiektów jako filtrów
- 27. Dodawanie elementów do obiektów
- 28. Najlepszy sposób na pobieranie elementów z tablicy 10 na raz
- 29. jQuery uzyskać węzeł DOM?
- 30. Pobieranie zawartości elementu za pomocą simpe-html-dom
Co jeszcze można zrobić z selektorami jQuery oprócz "manipulowania elementami"? Mam na myśli, twoje pytanie wydaje się zasadniczo jak "Czy mogę użyć jQuery?" na które odpowiedź brzmiałaby "tak". – Pointy
Dlaczego chcesz to zrobić? I nie, twoje wyrażenie nie zadziała, ponieważ $ ("cheese_tag") zwróci obiekt jQuery. – alexn
Przykro mi, lepszym sposobem na stwierdzenie mojego pytania byłoby: "Czy mogę przekonwertować obiekty jQuery do tych, które mogą normalnie obsługiwać javascript?" jak w jQuery, aby zwrócić obiekt javascript do manipulacji. – mattsven