JavaScript метод Node.hasChildNodes()

JavaScript Node

Определение и применение

JavaScript метод .hasChildNodes() объекта Node возвращает логическое значение, которое указывает на то есть ли у элемента дочерние узлы, или нет.


Обратите внимание, что вы можете проверить наличие дочерних узлов не только с использованием метода .hasChildNodes(), но и следующим образом:


Поддержка браузерами

МетодChrome
Chrome
Firefox
Firefox
Opera
Opera
Safari
Safari
Internet Explorer
IExplorer
Microsoft Edge
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 метода .hasChildNodes()
Пример использования JavaScript метода .hasChildNodes()
JavaScript Node