Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Проверка на родительский элемент (https://javascript.ru/forum/events/72568-proverka-na-roditelskijj-ehlement.html)

marc 08.02.2018 17:50

Проверка на родительский элемент
 
Привет, помогите пожалуйста с задачей. Функция принимает два элемента, и проверяет на то, является ли первый элемент родителем для второго.
isParent(document.body.children[0], document.querySelector('mark'));
// true
isParent(document.querySelector('ul'), document.querySelector('mark'));
// false

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<div>
    <article>
        <p>Lorem ipsum dolor sit amet, odio omnesque ius cu, quo ex atqui antiopam. At detracto menandri eos. Duo in causae viderer, graeci <a href="#">reprehendunt</a> has in. Decore <mark>nemore</mark> philosophia te pro, nobis legere causae ex mei, odio putant mentitum ea ius. Vix nostro deserunt explicari eu.</p>
    </article>
</div>
<ul id="list">
    <li><a href="#">Link1</a></li>
    <li><a href="#">Link2</a></li>
    <li><a href="#">Link3</a></li>
    <li><a href="#">Link4</a></li>
</ul><span></span>
<a href="#">Some link</a>

<script src="main.js"></script>
</body>
</html>

document.addEventListener('DOMContentLoaded', function () {
    console.clear();
    // код
    function isParent(parent, child) {
        
    }
});

Nexus 08.02.2018 18:12

function isParent(parent, child) {
    return child.parentNode===parent;
}

kharkov.timur@gmail.com 11.05.2020 17:10

Является ли первый элемент родителем для второго
 
let parent = document.body.children[0];
let child = document.querySelector('mark');

function isParent(parent, child) {
  if (parent.contains(child)) {
    console.log('Родитель содержит этот элемент');
  } else {
    console.log('Родитель не содержит этот элемент');
  }
}

isParent(parent, child);

// Получаем в консоль ответ (Родитель содержит этот элемент)


Часовой пояс GMT +3, время: 23:06.