Ben yazsak:
if (document.getElementById('xx'))
güvenli olması için?
Ben yazsak:
if (document.getElementById('xx'))
güvenli olması için?
console.log(document.getElementById('xx')) evaluates to null.
document.getElementById('xx') !=null evaluates to false
Daha güçlü bir eşitlik denetimi olduğundan, document.getElementById('xx') !== null
kullanmalısınız.
Evet, eğer mevcut değilse boş dönecektir, bunu aşağıdaki demoda deneyebilirsiniz. Her ikisi de gerçek olacak. İlk unsurlar ikinci değil var.
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!');
getElementById
hiçbir eleman eşleşti durumunda null
dönmek için DOM Level 1 HTML tarafından tanımlanır.
!==null
muhtemelen en açık çek formu ve en iyi olduğunu, ancak getElementById
dönebilmek hiçbir olmayan null
falsy değer yoktur - sadece null
veya her zaman truthy Eleman nesneyi elde edebilirsiniz. Yani burada !==null
, !=null
veya gevşeyici if (document.getElementById('xx'))
arasında pratik bir fark yoktur.
Bu get cevabı, getElementById döndüren tek falsey değeri "null" olduğundan, yalnızca varlığı kontrol etmek istediğinizde başka bir değeri kontrol etmek için bir neden olmadığı için kabul edilen yanıt olmalıdır. – cowbert
... Belirtilen kimliğe sahip bir öğe belgede bulunmuyorsa null ([mdn] (https://developer.mozilla.org/en-US/docs/DOM/document.getElementById)) – raina77ow
'document.getElementById ('xx')' 'undefined' döndürecektir –
@KhanhTran Aslında' null' döndürür. Konsolda test edin. –