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, nullwenn ein Element mit given-idnicht vorhanden ist, und nullist falsch, was bedeutet, dass sie bei der Auswertung in einer if-Anweisung in false übersetzt wird. ( andere falsche Werte )
nullbewertet false, was nicht allgemein bekannt ist (C # ist eine Sprache, in nullder nicht gleich falsch ist).
nullentspricht nicht falseeinmal 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 existsin 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