/
Вопросы и ответы
/
JavaScript
/

как определить индекс дочернего узла в javascript без использования jquery

как определить индекс дочернего узла в javascript без использования jquery

2 года назад

Nikolai Gagarinov

Ответы

0

Для этого можно использовать встроенные методы работы с DOM:

// Предположим, у вас есть HTML структура, например:
// <div id="parent">
//     <span>Child 1</span>
//     <span>Child 2</span>
//     <span>Child 3</span>
// </div>
const parentElement = document.getElementById('parent');

// Предположим, вы хотите найти индекс второго дочернего элемента (Child 2)
const childNode = parentElement.children[1]; // получаем Child 2

// Определяем индекс дочернего узла
const index = Array.from(parentElement.children).indexOf(childNode);

console.log(index); // Вывод: 1

В примере мы используем document.getElementById('parent') для получения родительского элемента div. parentElement.children возвращает коллекцию всех дочерних элементов, которые принадлежат этому родителю. children возвращает только элементы (тегированные узлы), в отличие от childNodes, который включает также текстовые и комментарные узлы.

Чтобы найти индекс конкретного дочернего узла, мы используем Array.from(), чтобы преобразовать коллекцию HTMLCollection в массив. Затем применяем метод indexOf(), который возвращает индекс элемента или -1, если элемент не найден.

Вы также можете определить индекс узла, используя цикл:

let index = -1;
const childNode = parentElement.children[1]; // получаем Child 2

for (let i = 0; i < parentElement.children.length; i++) {
    if (parentElement.children[i] === childNode) {
        index = i;
        break;  // прерываем цикл, так как нашли нужный узел
    }
}

console.log(index); // Вывод: 1

год назад

Ivan Gagarinov

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845