は私が書く必要があります:
if (document.getElementById('xx'))
は安全であると?それは強力な平等のチェックがあるよう
は私が書く必要があります:
if (document.getElementById('xx'))
は安全であると?それは強力な平等のチェックがあるよう
console.log(document.getElementById('xx')) evaluates to null.
document.getElementById('xx') !=null evaluates to false
あなたはdocument.getElementById('xx') !== null
を使用する必要があります。
はい、存在しない場合はnullを返します。デモでこれを試すことができます。どちらも真実を返します。最初の要素は存在し、2番目の要素は存在しません。
Htmlの
<div id="xx"></div>
のJavascript:
getElementById
はない要素が一致しない場合にnull
を返すようにDOM Level 1 HTMLによって定義されます。
!==null
はおそらく最も明白なチェックの形、そして最高のですが、getElementById
を返すことができることは非null
falsy値はありません - あなただけnull
または常時truthy Elementオブジェクトを取得することができます。したがって、!==null
、!=null
、またはよりゆるいif (document.getElementById('xx'))
の間に実際的な違いはありません。
唯一の偽りの値 'getElementById'の返り値が' null'なので、これは受け入れられた答えでなければなりません。存在を確認するだけの場合は、他の値をチェックする理由はありません。 – cowbert
... '指定されたIDを持つ要素がドキュメントにない場合はnull'([mdn](https://developer.mozilla.org/en-US/docs/DOM/document.getElementById)) – raina77ow
'document.getElementById( 'xx')'は 'undefined'を返します –
@KhanhTran実際には' null'を返します。それをコンソールでテストします。 –