Sprawdzanie czy istnieje div jest dość prostySprawdź, czy div nie występuje z javascript
if(document.getif(document.getElementById('if')){
}
Ale jak mogę sprawdzić, czy div z podanym identyfikatorze nie istnieje?
Sprawdzanie czy istnieje div jest dość prostySprawdź, czy div nie występuje z javascript
if(document.getif(document.getElementById('if')){
}
Ale jak mogę sprawdzić, czy div z podanym identyfikatorze nie istnieje?
var myElem = document.getElementById('myElementId');
if (myElem === null) alert('does not exist!');
getElementById
zwraca null
jeśli nie ma takiego elementu.
Spróbuj znaleźć element z ID i sprawdzić, czy wartość zwracana jest wartość null:
document.getElementById('some_nonexistent_id') === null
Jeśli używasz jQuery, można zrobić:
$('#some_nonexistent_id').length === 0
Czy istnieje powód, dla którego nie można po prostu wykonać '! Document.getElementById ('foo')'? – Snuffleupagus
Możesz ... Jestem po prostu jawny dla dobra czytelności – Hristo
@ElatedOwl Może się zdarzyć, że możesz wykonać operację na wielu wejściach i chcesz sprawdzić, czy one istnieją. Byłoby bezcelowe wobec 'document.getElementById()'. – Danon
if (!document.getElementById("given-id")) {
//It does not exist
}
rachunku document.getElementById("given-id")
zwraca null
jeśli element z given-id
nie istnieje, a null
jest falsy, co oznacza, że tłumaczy na false, gdy jest oceniany w -komunikat. (other falsy values)
Cześć Esailija, myślę, że mogłabyś być najlepszą odpowiedzią, gdybyś dodał szczegóły, dlaczego "!" działa dobrze. Być może mówiąc, że zwraca wartość null, która jest falsy. +1 ode mnie. –
Ludzie mogą znaleźć w Google co "!" oznacza w javascript lub w wielu innych językach. To nie jest rakieta. – CommandZ
@CommandZ: Po co zmuszać ludzi do Google go, gdy proste wyjaśnienie liniowe byłoby szybsze. Poza tym wierzę w to, co Alex robi, to że 'null' ma wartość" false ", co nie jest powszechną wiedzą (C# to język, w którym' null' nie jest równy false). –
który współpracuje z:
var element = document.getElementById('myElem');
if (typeof (element) != undefined && typeof (element) != null && typeof (element) != 'undefined') {
console.log('element exists');
}
else{
console.log('element NOT exists');
}
Sprawdź mój zarówno JavaScript i jQuery kod:
JavaScript:
if (!document.getElementById('MyElementId')){
alert('Does not exist!');
}
JQuery:
if (!$("#MyElementId").length){
alert('Does not exist!');
}
Istnieje jeszcze lepsze rozwiązanie. Nie musisz nawet sprawdzać, czy element zwraca null
. można po prostu to zrobić:
if (document.getElementById('elementId')) {
console.log('exists')
}
Ten kod będzie tylko zalogować exists
pocieszyć jeśli element rzeczywiście istnieje w DOM.
Wykonuję poniżej i sprawdzam, czy istnieje id
i czy istnieje funkcja wykonania.
var divIDVar = $('#divID').length;
if (divIDVar === 0){
console.log('No DIV Exist');
} else{
FNCsomefunction();
}
Use (myElem === null) dla punktów bonusowych. – Frug
Wielkie dzięki. Używam modalnych okien AngularJS i Bootstrap, z jakiegoś powodu JQuery nie mógł znaleźć elementów w oknie modalnym. Vanilla JS działała dobrze. – JohnDoe
Wydaje się pracować ... dzięki! –