Получение предков элемента

JavaScriptJavaScriptBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы изучим, как использовать JavaScript для получения всех предков элемента от корня документа до данного элемента. Для этого потребуется использовать Node.parentNode и цикл while для перемещения по дереву предков, а также Array.prototype.unshift(), чтобы добавить каждого нового предка в начало массива. В конце практического занятия вы должны хорошо понять, как получать предков элемента с использованием JavaScript.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/DOMManipulationGroup(["DOM Manipulation"]) javascript(("JavaScript")) -.-> javascript/ToolsandEnvironmentGroup(["Tools and Environment"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/loops("Loops") javascript/DOMManipulationGroup -.-> javascript/dom_select("DOM Selection") javascript/DOMManipulationGroup -.-> javascript/dom_traverse("DOM Traversal") javascript/ToolsandEnvironmentGroup -.-> javascript/bom("Browser Object Model") subgraph Lab Skills javascript/variables -.-> lab-28350{{"Получение предков элемента"}} javascript/data_types -.-> lab-28350{{"Получение предков элемента"}} javascript/arith_ops -.-> lab-28350{{"Получение предков элемента"}} javascript/comp_ops -.-> lab-28350{{"Получение предков элемента"}} javascript/loops -.-> lab-28350{{"Получение предков элемента"}} javascript/dom_select -.-> lab-28350{{"Получение предков элемента"}} javascript/dom_traverse -.-> lab-28350{{"Получение предков элемента"}} javascript/bom -.-> lab-28350{{"Получение предков элемента"}} end

Получение предков элемента

Для получения предков элемента от корня документа до указанного элемента следуйте шагам:

  1. Откройте Терминал/SSH и введите node, чтобы начать практиковаться в написании кода.
  2. Используйте Node.parentNode и цикл while, чтобы перемещаться по дереву предков элемента.
  3. Используйте Array.prototype.unshift(), чтобы добавить каждого нового предка в начало массива.

Вот пример кода, который реализует вышеперечисленные шаги:

const getAncestors = (el) => {
  let ancestors = [];
  while (el) {
    ancestors.unshift(el);
    el = el.parentNode;
  }
  return ancestors;
};

Для получения предков определенного элемента используйте метод querySelector() для выбора элемента и передайте его в качестве аргумента функции getAncestors(). Например:

getAncestors(document.querySelector("nav"));
// [document, html, body, header, nav]

Это вернет массив всех предков указанного элемента в порядке от корня документа до самого элемента.

Резюме

Поздравляем! Вы завершили практическое занятие "Получение предков элемента". Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.