Antworten:
var myElem = document.getElementById('myElementId');
if (myElem === null) alert('does not exist!');
if (!document.getElementById("given-id")) {
//It does not exist
}
Die Anweisung wird document.getElementById("given-id")
zurückgegeben, null
wenn ein Element mit given-id
nicht vorhanden ist, und null
ist falsch, was bedeutet, dass sie bei der Auswertung in einer if-Anweisung in false übersetzt wird. ( andere falsche Werte )
null
bewertet false
, was nicht allgemein bekannt ist (C # ist eine Sprache, in null
der nicht gleich falsch ist).
null
entspricht nicht false
einmal im Vergleich der ToBoolean(null)
false
Versuchen Sie, das Element mit der ID abzurufen, und überprüfen Sie, ob der Rückgabewert null ist:
document.getElementById('some_nonexistent_id') === null
Wenn Sie jQuery verwenden, können Sie Folgendes tun:
$('#some_nonexistent_id').length === 0
!document.getElementById('foo')
?
document.getElementById()
.
Überprüfen Sie sowohl meinen JavaScript- als auch meinen JQuery-Code:
JavaScript:
if (!document.getElementById('MyElementId')){
alert('Does not exist!');
}
JQuery:
if (!$("#MyElementId").length){
alert('Does not exist!');
}
Es gibt eine noch bessere Lösung. Sie müssen nicht einmal überprüfen, ob das Element zurückgegeben wird null
. Sie können dies einfach tun:
if (document.getElementById('elementId')) {
console.log('exists')
}
Dieser Code wird nur dann exists
in der Konsole protokolliert , wenn das Element tatsächlich im DOM vorhanden ist.
Alle diese Antworten berücksichtigen NICHT , dass Sie speziell nach einem DIV- Element gefragt haben .
document.querySelector("div#the-div-id")
@see https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector