Sprawdzenie, czy istnieje element DIV, jest dość proste
if(document.getif(document.getElementById('if')){
}
Ale jak mogę sprawdzić, czy element div o podanym identyfikatorze nie istnieje?
Odpowiedzi:
var myElem = document.getElementById('myElementId');
if (myElem === null) alert('does not exist!');
if (!document.getElementById("given-id")) {
//It does not exist
}
Instrukcja document.getElementById("given-id")zwraca, nulljeśli element z given-idnie istnieje i nulljest fałszywy, co oznacza, że przekłada się na fałsz, gdy jest oceniany w instrukcji if. ( inne fałszywe wartości )
nullwartościuje false, co nie jest powszechną wiedzą (C # to język, w którym nullnie równa się fałszowi).
nullnie równa się falsenawet w przymusowym porównaniu równości - wezwanie do ToBoolean(null)powrotufalse
Spróbuj pobrać element z identyfikatorem i sprawdź, czy wartość zwracana jest pusta:
document.getElementById('some_nonexistent_id') === null
Jeśli używasz jQuery, możesz:
$('#some_nonexistent_id').length === 0
!document.getElementById('foo')?
document.getElementById().
Sprawdź mój kod JavaScript i JQuery:
JavaScript:
if (!document.getElementById('MyElementId')){
alert('Does not exist!');
}
JQuery:
if (!$("#MyElementId").length){
alert('Does not exist!');
}
Jest jeszcze lepsze rozwiązanie. Nie musisz nawet sprawdzać, czy element zwraca null. Możesz to po prostu zrobić:
if (document.getElementById('elementId')) {
console.log('exists')
}
Ten kod będzie logował się existsdo konsoli tylko wtedy, gdy element faktycznie istnieje w DOM.
Wszystkie te odpowiedzi NIE uwzględniają tego, że pytałeś konkretnie o element DIV .
document.querySelector("div#the-div-id")
@see https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector