Мастер-классы по Javascript Екатеринбург Ростов-на-Дону Москва Узнать больше...
Содержание (скрыть) Содержание (показать)

Проверка находится ли элемент внутри другого

Для документа tutorial/browser/dom/searchTask.html.

Напишите функцию checkInsideTable(id), которая будет возвращать true если элемент с данным id находится внутри таблицы table#age-table.

Если это не так, или такого элемента нет, то функция должна вернуть false.

Например:

checkInsideTable('age-list');  // true
checkInsideTable('age-form');         // false
checkInsideTable('non-existant-id'); // false

Решение
Решение

Для начала, нам нужно получить таблицу и элемент по id.

var elem = document.getElementById(id);
var table = document.getElementById('age-table');

Затем, мы должны проверить, является ли table предком elem. Это можно сделать, пройдя по цепочке родительских элементов: elem.parentNode, elem.parentNode.parentNode.., пока не дойдем либо до таблицы либо до null.

Код рабочей функции:

function checkInsideTable(id){
  var elem = document.getElementById(id);
  var table = document.getElementById('age-table');
  
  while (elem != table && elem) { // вверх по родителям
    elem = elem.parentNode;
  }
  
  return !!elem; // приведение логическому типу (true если не null)
}

#71
Наверх

Реклама

Нашли опечатку?

Нашли опечатку на сайте? Что-то кажется странным?
Выделите соответствующий текст и нажмите Ctrl+Enter!

Последние Комментарии

Помоги другим!

Помоги другим узнать о хорошей статье!