JavaScript метод Element.getElementsByTagName()

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

JavaScript метод getElementsByClassName() объекта Element возвращает живую коллекцию HTMLCollection элементов с заданным именем тега, поиск элементов при этом ведется внутри указанного элемента.

Объект NodeList представляет коллекцию узлов, которые могут быть доступны по индексным номерам (индекс начинается с 0). Вы можете использовать свойство length объекта NodeList для определения количества элементов с указанным именем класса. Если искомые элементы отсутствуют, то значение length будет соответствовать значению 0.

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

Спецификация: dom.spec.whatwg

Поддерживается во всех основных браузерах с 2015 года.

Показать браузеры
Совместимостьapi.Element.getElementsByTagName
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
getElementsByTagName✓1

1

Примечание MDN (англ.)

Initially, this method was returning a NodeList; it was then changed to reflect the spec change.

✓12✓1

1

Примечание MDN (англ.)

Before Firefox 19, this method was returning a NodeList; it was then changed to reflect the change in the spec.

✓8

8

Примечание MDN (англ.)

Initially, this method was returning a NodeList; it was then changed to reflect the spec change.

✓1

1

Примечание MDN (англ.)

Initially, this method was returning a NodeList; it was then changed to reflect the spec change.

✓18

18

Примечание MDN (англ.)

Initially, this method was returning a NodeList; it was then changed to reflect the spec change.

✓4

4

Примечание MDN (англ.)

Before Firefox for Android 19, this method was returning a NodeList; it was then changed to reflect the change in the spec.

✓10.1✓1

1

Примечание MDN (англ.)

Initially, this method was returning a NodeList; it was then changed to reflect the spec change.

✓1.0

1.0

Примечание MDN (англ.)

Initially, this method was returning a NodeList; it was then changed to reflect the spec change.

✓4.4

4.4

Примечание MDN (англ.)

Initially, this method was returning a NodeList; it was then changed to reflect the spec change.

✓1

1

Примечание MDN (англ.)

Initially, this method was returning a NodeList; it was then changed to reflect the spec change.

getElementsByTagName("*")✓1✓12✓1✓≤15✓1✓18✓4✓≤14✓1✓1.0✓4.4✓1

поддерживается с ограничениями нет поддержки нет данных≤31 — не позднее версии 31

JavaScript синтаксис:

JavaScript
// поиск элементов с определенным тегом
let elements = element.getElementsByTagName( tagName )

tagName - String

Версия JavaScript

Document Object Model (DOM) Level 1 Core

Значения параметров

ПараметрОписание
tagNameСтроковое значение, представляющее имя тега элемента, который вы хотите найти внутри элемента. При вызове перед осуществлением поиска преобразует значение аргумента в нижний регистр. Специальная строка "*" представляет все элементы. Обязательный параметр.

Пример использования

HTML
<!DOCTYPE html>
<html>
  <head>
    <title>Использование JavaScript метода .getElementByTagName() объекта Element</title>
  </head>
  <body>
    <button onclick="myFunc()">Нажми меня</button>
    <!-- добавляем атрибут событий onclick -->
    <section>
      <div>Первый блок</div>
      <div>Второй блок</div>
      <div>Третий блок</div>
    </section>
    <script>
      function myFunc() {
        const section = document.body.getElementsByTagName("section")[0]; // находим элемент с определенным именем тега внутри элемента <body>
        let blocks = section.getElementsByTagName("div"); // находим элементы с определенным именем тега внутри элемента <section>
        for (let i = 0; i < blocks.length; i++) {
          // проходим циклом по всем элементам массивоподобного объекта
          blocks[i].style.color = "orangered"; // устанавливаем определенный цвет текста каждому элементу
        }
      }
    </script>
  </body>
</html>

В этом примере с использованием атрибута событий onclick при нажатии на кнопку (HTML элемент <button>) вызываем функцию myFunc(), которая с использованием JavaScript метода .getElementsByTagName() выбирает все элементы с определенным именем тега и инициализируем переменную этим значением (массивоподобный объект). Обратите внимание, что мы сразу указали индекс 0, который ссылается на наш элемент <section>.

Кроме того, с использованием метода .getElementsByTagName() мы выбираем все элементы <div> и инициализируем переменную этими элементами, поиск при этом мы ведем непосредственно внутри элемента <section>. После этого мы проходим циклом по всем элементам этого массивоподобного объекта (объект NodeList) и устанавливаем определенный цвет текста каждому элементу.

Пример использования JavaScript метода .getElementByClassName() объекта Element: попробуйте сами

index.html
HTML
<button data-migration-click-0="">Нажми меня</button>
<section>
  <div>Первый блок</div>
  <div>Второй блок</div>
  <div>Третий блок</div>
</section>
main.js
JavaScript
function myFunc() {
  const section = document.body.getElementsByTagName("section")[0];
  let blocks = section.getElementsByTagName("div");

  for (let i = 0; i < blocks.length; i++) {
    blocks[i].style.color = "orangered";
  }
}

// Обработчики кнопок перенесены из HTML для запуска с CSP без inline-скриптов.
document.querySelector("[data-migration-click-0]").addEventListener("click", function () {
  myFunc();
});
document.querySelector("[data-migration-click-0]").removeAttribute("data-migration-click-0");

Результат нашего примера:

Пример использования JavaScript метода .getElementByTagName() объекта Element
Пример использования JavaScript метода .getElementByTagName() объекта Element