Pobieranie elementu podstawowego z obiektu jQuery

Staram się znaleźć odpowiednią terminologię tutaj, ale jeśli masz obiekt jQuery...

$('#MyObject')

... Czy można wyodrębnić element bazowy? Znaczenie, odpowiednik tego:

document.getElementById('MyObject')
 68
Author: dansays, 2008-09-06

4 answers

Tak, użyj .get(index). Według dokumentacji :

Metoda .get() zapewnia dostęp do węzłów DOM leżących u podstaw każdego obiektu jQuery.

 55
Author: VolkerK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-04 20:58:02
$('#MyObject').get(0);
Myślę, że tego właśnie chcesz. Myślę, że można również odwoływać się do niego jak do zwykłej tablicy z:
$('#MyObject')[0];
Ale nie jestem pewien, czy to zawsze zadziała. Trzymaj się pierwszej składni.
 96
Author: Aaron Wagner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-06 21:20:52

Obiekt jQuery jest zbiorem elementów. W Twoim przypadku, zestaw jednego elementu. Różni się to od niektórych innych bibliotek, które zawierają pojedyncze elementy i zapewniają alternatywną składnię dla selektorów zwracających wiele dopasowań.

Aaron w i VolkerK już wyjaśnili, jak uzyskać dostęp do pierwszego (indeks 0) elementu w zbiorze.

 9
Author: Shog9,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:12

Przetestowałem wypowiedzi Aarona na wszystkich przeglądarkach, które mam dostępne na moim boxie:

$('#MyObject').get(0);

Vs

$('#MyObject')[0];

Z tego co wiem, to tylko kwestia osobistych preferencji.

Funkcjonalnie oba te wyrażenia są równoważne zarówno dla elementów istniejących, jak i nieistniejących. Testowałem następujące przeglądarki: Chrome 27.0, FF 21.0, IE10, IE9, IE8, IE7, IE6.

W testach prędkości, które przeprowadziłem, nie zawsze było możliwe określenie, która odmiana jest szybsza; wynik nie zawsze był spójny, nawet w tej samej przeglądarce. Do testów prędkości testowałem tylko istniejące elementy. Moje wyniki testów są tutaj .

 5
Author: VeeTheSecond,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-30 15:06:37