Добавляя несколько функций в объектную модель документа (DOM) с помощью JavaScript, разработчику часто приходится анализировать связь элементов. Этого можно достичь путем регистрации родительского элемента целевого элемента(ов), что оптимизирует поток кода и форматирование включенных функций на сайт. Обзор содержания
Что такое свойство «parentElement» в JavaScript?
« родительскийэлемент Свойство ” в JavaScript извлекает элемент, который является родительским для целевого элемента.
Как получить доступ/вызвать родительский элемент через свойство родительского элемента HTML DOM?
Доступ к родительскому элементу можно получить с помощью HTML DOM. родительскийэлемент ” имущество с “ имя_узла » или вместо этого получить узел родительского элемента через « родительский узел ' свойство.
VIDEO
Синтаксис
узел. родительскийэлемент
Возвращаемое значение Это свойство извлекает объект элемента, который представляет узел родительского элемента узла и дает « нулевой », если узел не содержит родительского узла.
Используемые общие методы и свойства
документ.querySelector() : этот метод получает первый элемент, соответствующий селектору CSS.
Синтаксис
документ. запросселектор ( этот )
В этом синтаксисе « этот » относится к одному или нескольким селекторам CSS.
документ.getElementById() : возвращает элемент с указанным идентификатором.
Синтаксис
документ. getElementById ( идентификатор )
Здесь, ' идентификатор » указывает идентификатор целевого элемента, который необходимо получить.
выбранныйиндекс : это свойство извлекает индекс выбранного параметра из раскрывающегося списка. '-1' опция отменяет выбор всех опций.
имя_узла : это свойство получает имя узла.
дети : это свойство возвращает дочерние элементы элемента в виде коллекции.
внешнийHTML : это свойство выделяет или извлекает элемент HTML, а также его атрибуты, а также начальный и конечный теги.
родительский узел : это конкретное свойство извлекает родительский узел элемента или узла.
Примечание : Разница между « родительскийэлемент ' и ' родительский узел ” заключается в том, что предыдущее свойство, т. е. “parentElement”, дает “ нулевой », если родительский узел не отражает узел элемента.
Пример 1. Доступ к родительскому элементу через свойство «parentElement» в JavaScript.
В этом примере вызывается родительский элемент элемента и отображается имя его (родительского) узла при нажатии кнопки.
HTML-код
< HTML >
< тело >
< ч1 > Свойство родительский элемент в JavaScript < / ч1 >
< ч2 > Выберите язык: < / ч2 >
< выбирать сорт '=' 'элемент' >
< вариант > Питон < / вариант >
< вариант > Джава < / вариант >
< вариант > JavaScript < / вариант >
< / выбирать >
< кнопка по щелчку '=' 'дисплейРодитель()' сорт '=' 'кнопка' > Отображение родительского элемента элемента «option» < / кнопка >
< div сорт '=' 'температура' >< / div >< / тело >
< HTML >
В этом коде:
Укажите данный «» и «» элементы, которые включают заголовки первого и второго уровня соответственно.
После этого создайте «<выбрать>» элемент, представленный данным классом, который содержит дополнительные дочерние элементы, т.е. «<опция>» .
Теперь создайте кнопку, связанную с « по щелчку ” событие, которое перенаправляет на «дисплейРодитель()» функция при нажатии кнопки.
Наконец, укажите «» элемент, в котором должен отображаться результат, т. е. доступный родительский элемент.
CSS-код
<стиль
> тело
{ выравнивание текста : центр ; цвет : #ффф ; фоновый цвет : серый ; высота : 100% ;
} .кнопка
{ высота : 2рем ; граница-радиус : 2 пикселя ; ширина : 35% ; допуск : 2рем авто ; отображать : блокировать ; цвет : #ba0b0b ; курсор : указатель ;
} .temp
{ размер шрифта : 1,5рем ; вес шрифта : смелый ;
} стиль
>
В приведенном выше коде CSS:
Оформите всю веб-страницу с помощью примененных свойств «text-align», «background-color» и т. д.
Аналогичным образом примените стиль к созданной кнопке через ее класс, отрегулировав ее высоту, ширину, отображение, цвет и т. д.
Наконец, придайте стиль « div », ссылаясь на имя класса, в котором должен отображаться родительский элемент, к которому осуществляется доступ.
JavaScript-код
VIDEO
< сценарий
> функция дисплейРодитель
( ) { был получать '=' документ.
запросселектор ( '.элемент' ) ; был этот
'=' получать .
параметры [ получать .
выбранныйиндекс ] ; был добавить
'=' документ.
запросселектор ( '.temp' ) ; добавить.
внутреннийHTML '=' «Родительский элемент параметра Element — ->» + этот.
родительскийэлемент .
имя_узла ;
}
сценарий
>
Согласно этим строкам кода:
Определите функцию «дисплейРодитель()» который обращается к элементу «», ссылаясь на его класс через метод «document.querySelector()» метод.
« параметры ” получает коллекцию всех элементов “” в раскрывающемся списке и “ выбранныйиндекс Свойство ” извлекает индекс выбранного параметра для раскрывающегося списка.
Наконец, используйте «document.querySelector()» еще раз, чтобы получить доступ к элементу «» и добавить к нему родительский элемент элемента «
» с помощью примененного « родительскийэлемент ' и ' имя_узла » (отображает имя родительского узла).
Весь код
< HTML >
< тело >
< ч1 > Свойство родительский элемент в JavaScript < / ч1 >
< ч2 > Выберите язык: < / ч2 >
< выбирать сорт '=' 'элемент' >
< вариант > Питон < / вариант >
< вариант > Джава < / вариант >
< вариант > JavaScript < / вариант >
< / выбирать >
< кнопка по щелчку '=' 'дисплейРодитель()' сорт '=' 'кнопка' > Отображение родительского элемента элемента «option» < / кнопка >
< div сорт '=' 'температура' >< / div >< / тело >
< стиль > тело{ выравнивание текста: по центру; цвет: #fff; цвет фона: серый; высота: 100%; } .кнопка{ высота: 2рем; граница-радиус: 2px; ширина: 35%; маржа: 2рем авто; дисплей: блок; цвет:#ba0b0b; курсор: указатель; } .temp{ размер шрифта: 1,5рем; шрифт-вес: жирный; } < / стиль >
< сценарий > функция displayParent() { var get = document.querySelector('.elem'); var sel=get.options[get.selectedIndex]; var Append = document.querySelector('.temp'); add.innerHTML='Родительский элемент параметра Element: -> ' + sel.parentElement.nodeName; }
< / сценарий >
Выход
Здесь видно, что родительский элемент всех дочерних узлов, т. е. выбранный вариант из раскрывающегося списка в «<опция>» элемент возвращается, т. е. « ВЫБИРАТЬ ».
Пример 2. Доступ к родительскому и дочернему элементам через свойства «parentElement» и «child» в JavaScript.
В следующем примере кода осуществляется доступ как к родительскому, так и к дочернему элементу определенного элемента.
HTML-код
< HTML > < тело > < div идентификатор '=' 'родитель' > < div идентификатор '=' 'ребенок' > < ч1 >Первый дочерний элемент< / ч1 > < ч1 >Второй дочерний элемент< / ч1 > < / div > < / div > < / тело > < / HTML > В этом блоке кода создайте два элемента «
» и два элемента «
», ссылающиеся на дочерние элементы последнего элемента «».
JavaScript-код
< сценарий
> позволять
получать '=' документ.
getElementById ( 'ребенок' ) ; пусть родитель
'=' получать .
родительскийэлемент ; консоль.
бревно ( «Родительский элемент ->» , родитель.
внешнийHTML ) ; консоль.
бревно ( «Имя узла родительского элемента ->» , родитель.
имя_узла ) ; пусть дети
'=' получать .
дети ; для ( дайте я
'=' 0 ; я
< дети.
длина ; я
++ ) { консоль.
бревно ( `Дочерний элемент $
{ я
} : `
, дети
[ я
] .
внешнийHTML ) ;
}
для ( дайте я
'=' 0 ; я
< дети.
длина ; я
++ ) { консоль.
бревно ( `Имя узла дочернего элемента $
{ я
} : `
, дети
[ я
] .
имя_узла ) ;
}
сценарий
>
Объяснение приведенного выше кода следующее:
VIDEO
Получите доступ к последнему элементу «» по его «id», используя
«document.getElementById()» метод и получить его родительский элемент через метод «
родительскийэлемент ' свойство.
Теперь отобразите родительский элемент с атрибутами, а также начальными и конечными тегами с помощью примененного « внешнийHTML ' свойство.
Кроме того, верните имя родительского элемента, то есть имя узла, используя « имя_узла ' свойство.
После этого получите доступ к дочерним элементам, используя свойство Children.
Примените « для ” для перебора всех дочерних элементов и возврата их с тегами через обсуждаемое свойство “outerHTML”.
Аналогичным образом снова используйте цикл «for», чтобы вернуть имена узлов дочерних элементов.
Весь код
< HTML > < тело > < div идентификатор '=' 'родитель' > < div идентификатор '=' 'ребенок' > < ч1 > Первый дочерний элемент
< / ч1 > < ч1 > Второй дочерний элемент
< / ч1 > < / div > < / div >
< / тело >
< / HTML >
< сценарий > let get = document.getElementById('child');
пусть родитель = get.parentElement;
console.log('Родительский элемент -> ',parent.outerHTML);
console.log('Имя узла родительского элемента -> ',parent.nodeName);
пусть дети = get.children;
for(пусть я =0; я
<дети.длина; я++ ) {
консоль.log ( `Дочерний элемент $ { я } : `, дети [ я ] .outerHTML ) ;
}
для ( дайте я '=' 0 ; я <дети.длина; я++ ) {
консоль.log ( `Узел дочернего элемента Имя $ { я } : `, дети [ я ] .nodeName ) ;
}
< / сценарий >
Выход
Этот результат означает, что родительский и дочерний элементы целевого элемента отображаются подробно (вместе с именами узлов) соответственно.
Пример 3. Доступ к родительскому элементу с использованием свойства «parentNode»
В этой демонстрации можно вызвать родительский элемент конкретного элемента, а затем также будет выбран родительский элемент этого конкретного элемента, что приведет к вложенному поведению. Этого можно достичь с помощью « родительский узел Вместо этого свойство извлекает родительский узел элемента.
HTML-код
< HTML > < тело > < div идентификатор '=' 'родитель' > < ол идентификатор '=' 'температура' > < что идентификатор '=' 'темпчайлд' >Питон< / что > < что >Ява< / что > < что >JavaScript< / что > < / ол > < / div > < / тело > < / HTML > Здесь создайте элемент «
», который дополнительно содержит элементы «
(упорядоченный список)» и «(элементы списка)», имеющие заданные идентификаторы.
JavaScript-код
< сценарий > позволять получать '=' документ. getElementById ( 'темпчайлд' ) ; пусть родитель '=' получать . родительский узел ; консоль. бревно ( 'Узел родительского элемента 'li'-> ' , родитель ) ; пусть get2 '=' документ. getElementById ( 'температура' ) ; пусть родитель2 '=' получить2. родительский узел ; консоль. бревно ( 'Узел родительского элемента 'ol'-> ' , родитель2 ) ;
сценарий >
На основе этого фрагмента кода выполните следующие шаги:
Вызовите элемент « » через « getElementById() », получить доступ к узлу его родительского элемента, используя метод « родительский узел ” и отобразите родительский узел.
Аналогично, теперь вызовите отображаемый родительский узел, то есть родительский узел «», повторив ту же методологию.
Весь код
< HTML > < тело > < div идентификатор '=' 'родитель' > < ол идентификатор '=' 'температура' > < что идентификатор '=' 'темпчайлд' > Питон < / что > < что > Джава < / что > < что > JavaScript < / что > < / ол > < / div >
< сценарий > let get = document.getElementById('tempchild'); пусть родитель = get.parentNode; console.log('Узел родительского элемента 'li'-> ', родительский); пусть get2 = document.getElementById('temp'); пусть родитель2 = get2.parentNode; console.log('Узел родительского элемента 'ol'-> ',parent2);
< / сценарий > < / тело >
< / HTML >
Выход
Этот результат означает, что родительские узлы в обоих случаях отображаются соответствующим образом.
Заключение
Доступ к родительскому элементу можно получить с помощью HTML DOM. родительскийэлемент » имущество в сочетании с « имя_узла » или получение родительского узла через свойство «parentNode». Однако вместо этого для доступа к дочернему элементу используйте « ребенок ' свойство.