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, null
jeśli element z given-id
nie istnieje i null
jest fałszywy, co oznacza, że przekłada się na fałsz, gdy jest oceniany w instrukcji if. ( inne fałszywe wartości )
null
wartościuje false
, co nie jest powszechną wiedzą (C # to język, w którym null
nie równa się fałszowi).
null
nie równa się false
nawet 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ę exists
do 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