我有一個這樣的例子:檢查HTML對象是內另一個HTML對象
<div id="President">
<div id="Congressman">
<div id="Senator">
<div id="Major"></div>
</div>
</div>
</div>
是否有Javascript或jQuery的一個簡單的方法,我們可以檢查,如果格「主要」是一個子元素所有其他divs?謝謝。
我有一個這樣的例子:檢查HTML對象是內另一個HTML對象
<div id="President">
<div id="Congressman">
<div id="Senator">
<div id="Major"></div>
</div>
</div>
</div>
是否有Javascript或jQuery的一個簡單的方法,我們可以檢查,如果格「主要」是一個子元素所有其他divs?謝謝。
使用JavaScript node.contains(other node)
var qS = function(v) { return document.querySelector(v); };
console.log(qS('#President').contains(qS('#Major')))
<div id="President">
<div id="Congressman">
<div id="Senator">
<div id="Major"></div>
</div>
</div>
</div>
更新基於評論,結合jQuery和普通的javascript
console.log($('#President')[0].contains($('#Major')[0]))
<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>
我現在就試試這個。謝謝你的回答:) –
@LanMai新增了一個樣本如何到 – LGSon
非常感謝!你的答案奏效!只是一個小問題:如果我使用var outer = $('#總統')它將無法正常工作。在這種情況下,我可以使用$()嗎? –
這不是做的最好的方式,但它是一個簡單的,它的工作原理
$('#President').find('#Major').length !== 0
使用has()
:
console.log($('#President').has('#Major').length > 0)
<script src="https://code.jquery.com/jquery-3.1.1.min.js"
\t integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
\t crossorigin="anonymous">
</script>
<div id="President">
<div id="Congressman">
<div id="Senator">
<div id="Major"></div>
</div>
</div>
</div>
我現在就試試這個。謝謝你的回答:) –
你的意思是$('#總統')。has('#Major')' –
@blex根據[docs](https://api.jquery.com/has/)他們有權利 – maccettura
是所有其他的div的兒童(使用jQuery):
$('#Major').parents('#Senator,#Congressman,#President').length === 3
謝謝你的回答:) –
這是檢查所有div是'#Major'的父母的最簡單和最短的答案。 – blex
所以你必須檢查它是否是他們的孩子? – BenM
我認爲在這種情況下,我們可以有一個循環。 –