Проверьте его parentNode
свойство, если оно напрямую прикреплено к документу.Это null
, если такого родительского элемента нет и в противном случае ссылка на родительский элемент.
Следующий код иллюстрирует его использование, он печатает null
, [Object HTMLBodyElement]
и null
.
var elm = document.createElement("p");
alert(elm.parentNode);
document.body.appendChild(elm);
alert(elm.parentNode);
elm.parentNode.removeChild(elm);
alert(elm.parentNode);
Обратите внимание, что это относится только к элементам, которые были удалены с помощью removeChild
, если родительский элемент был удален, вам необходимо проверить свойство parentNode
этого родительского элемента.
Чтобы выяснить, является ли элемент действительно частью документа, вам необходимо проверить, является ли самый верхний родительский элемент document
.
function element_is_part_of_document(element) {
/* as long as the element is not document, and there is a parent element */
while (element != document && element.parentNode) {
/* jump to the parent element */
element = element.parentNode;
}
/* at this stage, the parent is found. If null, the uppermost parent element */
/* is not document, and therefore the element is not part of the document */
return element == document;
}
.