我有一个这样的例子:
<div id="President">
<div id="Congressman">
<div id="Senator">
<div id="Major"></div>
</div>
</div>
</div>
在Javascript或jQuery中是否有一种简单的方法可以检查div&#39; Major&#39;是所有其他div的子元素?谢谢。
答案 0 :(得分:3)
使用javascript node.contains(other node)
var qS = function(v) { return document.querySelector(v); };
console.log(qS('#President').contains(qS('#Major')))
&#13;
<div id="President">
<div id="Congressman">
<div id="Senator">
<div id="Major"></div>
</div>
</div>
</div>
&#13;
根据评论更新,结合了jQuery和普通javascript
console.log( $('#President')[0].contains( $('#Major')[0] ) )
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="President">
<div id="Congressman">
<div id="Senator">
<div id="Major"></div>
</div>
</div>
</div>
&#13;
答案 1 :(得分:2)
使用has()
:
console.log($('#President').has('#Major').length > 0)
<script src="https://code.jquery.com/jquery-3.1.1.min.js"
integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
crossorigin="anonymous">
</script>
<div id="President">
<div id="Congressman">
<div id="Senator">
<div id="Major"></div>
</div>
</div>
</div>
答案 2 :(得分:2)
是所有其他div的孩子(使用jquery):
$('#Major').parents('#Senator,#Congressman,#President').length === 3
答案 3 :(得分:0)
这不是最好的方法,但这是一个简单的方法,它的工作原理
(a, b) => {
if (a < b) {
return -1;
}
if (a > b) {
return 1;
}
return 0;
}