Dodając wiele funkcjonalności w Document Object Model (DOM) przy użyciu JavaScript, programista często musi przeanalizować powiązanie elementu. Można to osiągnąć poprzez rejestrowanie elementu nadrzędnego elementów docelowych, co usprawnia przepływ kodu i formatowanie funkcji zawartych w witrynie. Przegląd zawartości
Co to jest właściwość „parentElement” w JavaScript?
„ Element nadrzędny ” w JavaScript pobiera element będący rodzicem elementu docelowego.
Jak uzyskać dostęp do elementu nadrzędnego/wywołać go za pomocą właściwości HTML DOM parentElement?
Dostęp do elementu nadrzędnego można uzyskać za pomocą HTML DOM „ Element nadrzędny ”nieruchomość z” nazwa węzła ” lub pobranie zamiast tego węzła elementu nadrzędnego poprzez „ węzeł nadrzędny ' nieruchomość.
VIDEO
Składnia
węzeł. Element nadrzędny
Wartość zwracana Ta właściwość pobiera obiekt elementu, który reprezentuje węzeł elementu nadrzędnego węzła i daje „ zero ”, jeśli węzeł nie zawiera elementu nadrzędnego.
Wykorzystane wspólne metody i właściwości
dokument.querySelector() : Ta metoda pobiera pierwszy element pasujący do selektora CSS.
Składnia
dokument. selektor zapytań ( Ten )
W tej składni „ Ten ” odnosi się do jednego lub większej liczby selektorów CSS.
dokument.getElementById() : Zwraca element o podanym identyfikatorze.
Składnia
dokument. pobierzElementById ( ID )
Tutaj, ' ID ” wskazuje identyfikator elementu docelowego, który ma zostać pobrany.
wybrany indeks : Ta właściwość pobiera indeks wybranej opcji z listy rozwijanej. The „-1” Opcja odznacza wszystkie opcje.
nazwa węzła : Ta właściwość pobiera nazwę węzła.
dzieci : Ta właściwość zwraca elementy podrzędne elementu jako kolekcję.
zewnętrznyHTML : ta właściwość przydziela lub pobiera element HTML, a także jego atrybuty oraz znaczniki początkowe i końcowe.
węzeł nadrzędny : Ta konkretna właściwość pobiera węzeł nadrzędny elementu lub węzła.
Notatka : Różnica pomiędzy „ Element nadrzędny ' I ' węzeł nadrzędny ” jest taka, że poprzednia właściwość, tj. „parentElement”, daje „ zero ”, jeśli węzeł nadrzędny nie odzwierciedla węzła elementu.
Przykład 1: Dostęp do elementu nadrzędnego poprzez właściwość „parentElement” w JavaScript
Ten przykład wywołuje element nadrzędny elementu i wyświetla jego (nadrzędną) nazwę węzła po kliknięciu przycisku.
Kod HTML
< HTML >
< ciało >
< h1 > Właściwość parentElement w JavaScript < / h1 >
< h2 > Wybierz język: < / h2 >
< wybierać klasa = 'element' >
< opcja > Pyton < / opcja >
< opcja > Jawa < / opcja >
< opcja > JavaScript < / opcja >
< / wybierać >
< przycisk na kliknięcie = „wyświetl rodzic()” klasa = 'przycisk' > Wyświetl element nadrzędny elementu „opcja”. < / przycisk >
< div klasa = „temperatura” >< / div >< / ciało >
< HTML >
W tym kodzie:
Określ podane „” I „” elementy składające się odpowiednio na nagłówki pierwszego i drugiego poziomu.
Następnie utwórz „” element reprezentowany przez daną klasę, który zawiera dalsze elementy potomne, tj. „” .
Teraz utwórz przycisk powiązany z „ na kliknięcie ” wydarzenie, które przekierowuje do „wyświetl Rodzic()” działać po kliknięciu przycisku.
Na koniec określ „” element, w którym ma zostać wyświetlony wynik, czyli wywołany element nadrzędny.
Kod CSS
> ciało { wyrównanie tekstu : Centrum ; kolor : #fff ; kolor tła : szary ; wysokość : 100% ;
} .przycisk { wysokość : 2rem ; promień granicy : 2 piks ; szerokość : 35% ; margines : 2rem automatyczny ; wyświetlacz : blok ; kolor : #ba0b0b ; kursor : wskaźnik ;
} temp { rozmiar czcionki : 1,5rem ; grubość czcionki : pogrubiony ;
} >
W powyższym kodzie CSS:
Wystylizuj całą stronę internetową, stosując zastosowane właściwości „wyrównanie tekstu”, „kolor tła” itp.
Podobnie zastosuj stylizację do utworzonego przycisku poprzez jego klasę, dostosowując jego wysokość, szerokość, wyświetlacz, kolor itp.
Na koniec nadaj styl „ div ” odwołując się do nazwy jej klasy, w której ma być wyświetlany otwierany element nadrzędny.
Kod JavaScript
VIDEO
< scenariusz
> funkcjonować wyświetlaczRodzic
( ) { był Dostawać = dokument.
selektor zapytań ( '.element' ) ; był Ten
= Dostawać .
opcje [ Dostawać .
wybrany indeks ] ; był dodać
= dokument.
selektor zapytań ( „.temp” ) ; dodać.
wewnętrznyHTML = „Element nadrzędny elementu opcji to ->” + Ten.
Element nadrzędny .
nazwa węzła ;
}
scenariusz
>
Zgodnie z tymi liniami kodu:
Zdefiniuj funkcję „wyświetl Rodzic()” który uzyskuje dostęp do elementu „”, odwołując się do jego klasy poprzez „document.querySelector()” metoda.
„ opcje ” pobiera kolekcję wszystkich elementów „” z listy rozwijanej oraz „ wybrany indeks ” pobiera indeks wybranej opcji dla listy rozwijanej.
Na koniec skorzystaj z „document.querySelector()” metodę ponownie, aby uzyskać dostęp do elementu „” i dołączyć go do elementu nadrzędnego elementu „
” za pomocą zastosowanego elementu „ Element nadrzędny ' I ' nazwa węzła ” (wyświetla nazwę węzła nadrzędnego).
Cały kod
< HTML >
< ciało >
< h1 > Właściwość parentElement w JavaScript < / h1 >
< h2 > Wybierz język: < / h2 >
< wybierać klasa = 'element' >
< opcja > Pyton < / opcja >
< opcja > Jawa < / opcja >
< opcja > JavaScript < / opcja >
< / wybierać >
< przycisk na kliknięcie = „wyświetl rodzic()” klasa = 'przycisk' > Wyświetl element nadrzędny elementu „opcja”. < / przycisk >
< div klasa = „temperatura” >< / div >< / ciało >
< styl > ciało{ wyrównanie tekstu:środek; kolor:#fff; kolor tła: szary; wysokość:100%; } .przycisk{ wysokość:2rem; promień obramowania: 2px; szerokość:35%; margines:2rem auto; Blok wyświetlacza; kolor:#ba0b0b; kursor:wskaźnik; } .temp{ rozmiar czcionki: 1,5 rem; grubość czcionki:pogrubiona; } < / styl >
< scenariusz > funkcja displayParent() { var get = document.querySelector(.elem'); var sel=get.options[get.selectedIndex]; var append = document.querySelector(.temp'); append.innerHTML='Element nadrzędny elementu opcji to -> ' + sel.parentElement.nodeName; }
< / scenariusz >
Wyjście
Tutaj widać, że element nadrzędny wszystkich węzłów podrzędnych, tj. wybrana opcja z listy rozwijanej w „” zwracany jest element, tj. „ WYBIERAĆ ”.
Przykład 2: Dostęp do elementów nadrzędnych i podrzędnych poprzez właściwości „parentElement” i „children” w JavaScript
Poniższy przykład kodu uzyskuje dostęp zarówno do elementów nadrzędnych, jak i podrzędnych określonego elementu.
Kod HTML
< HTML > < ciało > < div ID = 'rodzic' > < div ID = 'dziecko' > < h1 >Pierwszy element potomny< / h1 > < h1 >Drugi element potomny< / h1 > < / div > < / div > < / ciało > < / HTML > W tym bloku kodu utwórz dwa elementy „
” i dwa elementy „
” odnoszące się do elementów potomnych ostatniego elementu „”.
Kod JavaScript
< scenariusz
> pozwalać
Dostawać = dokument.
pobierzElementById ( 'dziecko' ) ; niech rodzic
= Dostawać .
Element nadrzędny ; konsola.
dziennik ( „Element nadrzędny ->” , rodzic.
zewnętrznyHTML ) ; konsola.
dziennik ( „Nazwa węzła elementu nadrzędnego ->” , rodzic.
nazwa węzła ) ; niech dzieci
= Dostawać .
dzieci ; Do ( pozwól mi
= 0 ; I
< dzieci.
długość ; I
++ ) { konsola.
dziennik ( `Element potomny $
{ I
} : `
, dzieci
[ I
] .
zewnętrznyHTML ) ;
}
Do ( pozwól mi
= 0 ; I
< dzieci.
długość ; I
++ ) { konsola.
dziennik ( `Nazwa węzła elementu potomnego $
{ I
} : `
, dzieci
[ I
] .
nazwa węzła ) ;
}
scenariusz
>
Wyjaśnienie powyższego kodu jest następujące:
VIDEO
Uzyskaj dostęp do tego ostatniego elementu „” poprzez jego „id” za pomocą
„dokument.getElementById()” metodę i pobierz jej element nadrzędny poprzez „
Element nadrzędny ' nieruchomość.
Teraz wyświetl element nadrzędny z atrybutami oraz znacznikami początkowymi i końcowymi za pomocą zastosowanego „ zewnętrznyHTML ' nieruchomość.
Zwróć także nazwę elementu nadrzędnego, tj. nazwę węzła, używając „ nazwa węzła ' nieruchomość.
Następnie uzyskaj dostęp do dzieci elementu, korzystając z właściwości „children”.
Aplikować ' Do ” do iteracji wszystkich elementów podrzędnych i zwrócenia ich wraz ze znacznikami za pośrednictwem omawianej właściwości „outerHTML”.
Podobnie użyj ponownie pętli „for”, aby zwrócić również nazwy węzłów elementów podrzędnych.
Cały kod
< HTML > < ciało > < div ID = 'rodzic' > < div ID = 'dziecko' > < h1 > Pierwszy element potomny
< / h1 > < h1 > Drugi element podrzędny
< / h1 > < / div > < / div >
< / ciało >
< / HTML >
< scenariusz > niech get = document.getElementById('dziecko');
niech rodzic = get.parentElement;
console.log('Element nadrzędny -> ', nadrzędny.outerHTML);
console.log('Nazwa węzła elementu nadrzędnego -> ', nazwa_węzła nadrzędnego);
niech dzieci = get.children;
for(niech i =0; tj
) {
konsola.log ( `Element potomny $ { I } : `, dzieci [ I ] .outerHTML ) ;
}
Do ( pozwól mi = 0 ; i ) {
konsola.log ( `Węzeł elementu potomnego Nazwa $ { I } : `, dzieci [ I ] .nazwa węzła ) ;
}
< / scenariusz >
Wyjście
Wynik ten oznacza, że elementy nadrzędne i podrzędne elementu docelowego są odpowiednio wyświetlane szczegółowo (wraz z nazwami węzłów).
Przykład 3: Dostęp do elementu nadrzędnego przy użyciu właściwości „parentNode”.
W tej demonstracji można wywołać element nadrzędny określonego elementu, a następnie pobrany zostanie również element nadrzędny tego konkretnego elementu, co spowoduje zachowanie zagnieżdżone. Można to osiągnąć poprzez „ węzeł nadrzędny ” zamiast tego pobiera węzeł nadrzędny elementu.
Kod HTML
< HTML > < ciało > < div ID = 'rodzic' > < Ol ID = „temperatura” > < To ID = „dziecko tymczasowe” >Pyton< / To > < To >Java< / To > < To >JavaScript< / To > < / Ol > < / div > < / ciało > < / HTML > W tym miejscu utwórz element „
”, który będzie zawierał elementy „
(lista uporządkowana)” i „(elementy listy)” o podanych identyfikatorach.
Kod JavaScript
< scenariusz > pozwalać Dostawać = dokument. pobierzElementById ( „dziecko tymczasowe” ) ; niech rodzic = Dostawać . węzeł nadrzędny ; konsola. dziennik ( „Węzeł elementu nadrzędnego „li”-> „ , rodzic ) ; niech dostanie2 = dokument. pobierzElementById ( „temp” ) ; niech rodzic2 = dostać2. węzeł nadrzędny ; konsola. dziennik ( „Węzeł elementu nadrzędnego „ol”-> „ , rodzic2 ) ;
scenariusz >
Na podstawie tego fragmentu kodu wykonaj poniższe kroki:
Wywołaj element „ ” poprzez „ getElementById() ”, uzyskaj dostęp do węzła elementu nadrzędnego za pomocą metody „ węzeł nadrzędny ” i wyświetlić węzeł nadrzędny.
Podobnie, teraz wywołaj wyświetlony węzeł nadrzędny, tj. rodzica „”, powtarzając tę samą metodologię.
Cały kod
< HTML > < ciało > < div ID = 'rodzic' > < Ol ID = „temperatura” > < To ID = „dziecko tymczasowe” > Pyton < / To > < To > Jawa < / To > < To > JavaScript < / To > < / Ol > < / div >
< scenariusz > niech get = document.getElementById('tempchild'); niech rodzic = get.parentNode; console.log('Węzeł elementu nadrzędnego 'li'-> ', rodzic); niech get2 = document.getElementById('temp'); niech rodzic2 = get2.parentNode; console.log('Węzeł elementu nadrzędnego 'ol'-> ', rodzic2);
< / scenariusz > < / ciało >
< / HTML >
Wyjście
Wynik ten oznacza, że węzły nadrzędne w obu przypadkach są odpowiednio wyświetlane.
Wniosek
Dostęp do elementu nadrzędnego można uzyskać za pomocą HTML DOM „ Element nadrzędny ”nieruchomość połączona z ” nazwa węzła ” lub pobranie węzła nadrzędnego za pomocą właściwości „parentNode”. Aby jednak zamiast tego uzyskać dostęp do elementu podrzędnego, użyj opcji „ dziecko ' nieruchomość.