JavaScript метод Node.hasChildNodes()
JavaScript NodeОпределение и применение
JavaScript метод .hasChildNodes() объекта Node возвращает логическое значение, которое указывает на то есть ли у элемента дочерние узлы, или нет.
Обратите внимание, что вы можете проверить наличие дочерних узлов не только с использованием метода .hasChildNodes(), но и следующим образом:
- node.firstChild != null (или node.firstChild)
- node.childNodes && node.childNodes.length (или node.childNodes.length > 0)
Поддержка браузерами
Метод | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
---|---|---|---|---|---|---|
Node.hasChildNodes() | Да | Да | Да | Да | Да | Да |
JavaScript синтаксис:
const booleanResult = node.hasChildNodes(); node - Node
Спецификация
Document Object Model (DOM) Level 1Пример использования
<!DOCTYPE html> <html> <head> <title>Использование JavaScript метода .hasChildNodes()</title> </head> <body> <button onclick = "myFunc()">Test</button> <!-- добавляем атрибут событий onclick --> <ul id = "first"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul> <script> function myFunc() { const firstUl = document.getElementById("first"); // находим элемент по id if (!firstUl) { // если элемент отсутствует return; // выходим из функции } if (firstUl.hasChildNodes()) { // если элемент имеет дочерние узлы firstUl.removeChild(firstUl.firstChild); // удаляем первый дочерний узел } else { // если элемент не имеет дочерних узлов document.body.removeChild(firstUl); // удаляем элемент <ul> } } </script> </body> </html>
В этом примере с использованием атрибута событий onclick при нажатии на кнопку (HTML элемент <button>) вызываем функцию myFunc(), которая с использованием JavaScript метода .hasChildNodes() объекта Node проверяет имеется ли у элемента <ul> дочерние узлы. Если элемент имеет дочерние узлы, то с помощью метода .removeChild() удаляем его первый дочерний узел, если элемент не имеет дочерних узлов, то удаляется сам элемент <ul>. Если элемент <ul> отсутствует в дереве DOM, то функция прекращает выполнение.
Результат нашего примера:
JavaScript Node