2017-08-26 3 views
0

は、私はそれを試みたが、それが動作if節にnode.childNodesを使用できますか?

if (node.childNodes) { 
    // do something 
} 

代わりの

if (node.hasChildNodes()) { 
    // do something 
} 

を行うことができます。私は!div.childNodesをdiv要素に入れて試してみたところ、これはブール値falseを返しました。それは動作しているように見えますが、私はここで見落としているトラップはありますか?

+0

https://developer.mozilla.org/en/docs/Web/API/Node/hasChildNodes – zynkn

+1

「!! div.childNodes」がブール値「true」を取得したことを意味しましたか? – xmike

+1

空リストの場合はtrueを返しますが、 – xmike

答えて

3

いいえ、しかし:あなたが条件のようにif節で、事実上何も置くことができます

if (node.childNodes.length) 
0

、Javascriptをブール値にそれを強制しようとします。句は以下を除いてtruthy値に強制変換される場合のすべて:

  1. false
  2. null
  3. undefined
  4. ''
  5. NaN

でも[]他に何か、{}は真理値に強制されます。

関連する問題