JavaScript свойство Node.parentNode
Определение и применение
JavaScript свойство parentNode объекта
Node
возвращает узел, который является родителем данного узла. В том случае, если узел не имеет родителя,
то это свойство вернет значение null. Свойство доступно только для чтения.
Родителем элемента может являться узел Element, узел Document, или узел
DocumentFragment. Узлы Document и DocumentFragment никогда не могут иметь
родителя, поэтому свойство parentNode всегда будет возвращать значение null. Свойство
parentNode также возвращает null, если узел только что был создан и еще не присоединен к
дереву DOM.
Для того, чтобы возвратить элемент, который является родительским для этого узла, а не
узел, то вы можете воспользоваться свойством
parentElement.
Поддержка браузерами
Спецификация: dom.spec.whatwg
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
parentNode | 1 | 12 | 1 | 7 | 1.1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
JavaScript синтаксис
const parentNode = node.parentNode;
Спецификация
Пример использования
Скрытие родительского узла
Нажмите ▶ и щёлкните по любому абзацу Click me: его родительский узел (div) получит display: none и исчезнет вместе с абзацем.
index.html
<div><p data-migration-click-0="">Click me</p></div>
<div><p data-migration-click-2="">Click me</p></div>
<div><p data-migration-click-4="">Click me</p></div>
main.js
function myFunc(currentElem) {
currentElem.parentNode.style.display = 'none'
}
// Обработчики кнопок перенесены из HTML для запуска с CSP без inline-скриптов.
document.querySelector('[data-migration-click-0]').addEventListener('click', function () {
myFunc(this)
})
document.querySelector('[data-migration-click-0]').removeAttribute('data-migration-click-0')
document.querySelector('[data-migration-click-2]').addEventListener('click', function () {
myFunc(this)
})
document.querySelector('[data-migration-click-2]').removeAttribute('data-migration-click-2')
document.querySelector('[data-migration-click-4]').addEventListener('click', function () {
myFunc(this)
})
document.querySelector('[data-migration-click-4]').removeAttribute('data-migration-click-4')
Нажмите ▶, чтобы запустить пример.
В этом примере с использованием метода
addEventListener()
при нажатии на определенный HTML элемент
<p>, мы вызываем функцию, которая устанавливает родительскому узлу элемента
<p>, по которому произошло нажатие, значение CSS свойства
display
равным none. В результате чего этот элемент будет скрыт.