私のコードでは、次のように表示されます。
if (document.getElementById('xx') !=null) {
//do stuff
}
要素が定義されていない場合xx
、これは true または false に評価されますか?
私は書くべきですか:
if (document.getElementById('xx'))
安全であるために?
私のコードでは、次のように表示されます。
if (document.getElementById('xx') !=null) {
//do stuff
}
要素が定義されていない場合xx
、これは true または false に評価されますか?
私は書くべきですか:
if (document.getElementById('xx'))
安全であるために?
console.log(document.getElementById('xx') ) evaluates to null.
document.getElementById('xx') !=null evaluates to false
document.getElementById('xx') !== null
より強力な等価チェックであるため、使用する必要があります。
getElementById
一致する要素がない場合に返すようにDOM Level 1 HTMLで定義されています。null
!==null
は、チェックの最も明示的な形式であり、おそらく最良の形式ですが、null
返される可能性のある非偽の値はありません。常に真の Element オブジェクトをgetElementById
取得することしかできません。したがって、ここでは、またはより緩い のnull
間に実質的な違いはありません。!==null
!=null
if (document.getElementById('xx'))
はい、存在しない場合は null を返します。以下のデモでこれを試すことができます。どちらも true を返します。最初の要素は存在し、2 番目の要素は存在しません。
HTML
<div id="xx"></div>
Javascript:
if (document.getElementById('xx') !=null)
console.log('it exists!');
if (document.getElementById('xxThisisNotAnElementOnThePage') ==null)
console.log('does not exist!');