2016-08-17 91 views
0

如何检查一个元素是否有特定的孩子?如何检查元素是否有特定的孩子?

var child1 = document.createElement('div'); 
document.body.appendChild(child1); 

如何检查是否child1已连接到body

我用孩子加入到我的元素?

if (document.body.alreadyHas(child1)) … 
        ^^^^^^^^^^ 
       what to do here? 
+0

分享您的代码 – brk

+0

那么至少告诉我们你在找什么 – mean

+0

分享你的代码。 – Ray

回答

1

两个因素考虑引用,您可以测试是否一个是另一个的孩子使用.parentElement property如下:

if (child1.parentElement === parent1) { 
    // do something 
} 
在你所说的父您的具体情况

所以是body,你可以这样做:

var child1 = document.createElement('div'); 
 
    var child2 = document.createElement('div'); 
 
    document.body.appendChild(child1); // note we only append one 
 

 
    if (child1.parentElement === document.body) { 
 
     console.log("child1 is a child of the body"); // this will run 
 
    } 
 
    if (child2.parentElement === document.body) { 
 
     console.log("child2 is a child of the body"); // this won't run 
 
    }

+0

最后,我得到了一些工作,并简单理解!万分感谢。 – Shalom

0

您可以使用HTML DOM querySelector()方法做到这一点。

if(document.querySelector("div .example").length>0) 
{ 
//your code 
} 
+0

不,测试一个元素是否有任何后代匹配该选择器,它不测试特定元素。 – nnnnnn

+0

@nnnnnn但是“特定元素”实际上可以是一个选择器(在问题中不清楚) – fiddler

+0

如果你想检查一个具有'id =“example”的div,你可以使用'document.querySelector(“div #example“)。length> 0')它会工作,我想。 –

相关问题