Javascript ile bir div OLUP OLMADIĞINI kontrol edin


92

Bir div'in olup olmadığını kontrol etmek oldukça basittir

if(document.getif(document.getElementById('if')){

}

Ancak verilen kimliğe sahip bir div'in olup olmadığını nasıl kontrol edebilirim?

Yanıtlar:


152
var myElem = document.getElementById('myElementId');
if (myElem === null) alert('does not exist!');

1
Çok teşekkürler. AngularJS ve Bootstrap kalıcı pencereleri kullanıyorum, nedense JQuery kalıcı pencerede öğeler bulamadı. Vanilla JS iyi çalıştı.
krex

75
if (!document.getElementById("given-id")) {
//It does not exist
}

Deyim document.getElementById("given-id")döndürür nullbir unsur ise given-idmevcut değildir ve nullbir if açıklamada değerlendirildiğinde bunun yanlış çevirir falsy anlamıdır. ( diğer yanlış değerler )


4
Merhaba Esailija, neden "!" iyi çalışıyor. Belki de yanlış olan null döndürdüğünü söylüyor. Benden +1.
Alex KeySmith

4
İnsanlar ne "!" Javascript veya diğer birçok dilde anlamına gelir. Bu roket bilimi değil.
CommandZ

7
@CommandZ: Basit bir satır içi açıklama daha hızlı olacakken neden insanları Google'a zorluyor? Ayrıca, Alex'in elde ettiği şeyin nulldeğerlendiren olduğuna inanıyorum false, ki bu ortak bilgi değil (C #, nullyanlışa eşit olmayan bir dildir ).
Doug S

1
@DougS nulliçin eşit olmadığını falsebile zorlayıcı eşitlik karşılaştırıldığında - çağrısına ToBoolean(null)dönüşlerifalse
Esailija

10

Kimliği olan öğeyi almayı deneyin ve dönüş değerinin boş olup olmadığını kontrol edin:

document.getElementById('some_nonexistent_id') === null

JQuery kullanıyorsanız şunları yapabilirsiniz:

$('#some_nonexistent_id').length === 0

2
Yapamaman için bir sebep var mı !document.getElementById('foo')?
Snuffleupagus

@ElatedOwl Birçok giriş üzerinde işlem gerçekleştirebilirsiniz ve bunların olup olmadığını kontrol etmek isteyebilirsiniz. O zaman anlamsız olurdu document.getElementById().
Danon

10

Hem JavaScript hem de JQuery kodumu kontrol edin:

JavaScript:

if (!document.getElementById('MyElementId')){
    alert('Does not exist!');
}

JQuery:

if (!$("#MyElementId").length){
    alert('Does not exist!');
}

4

getElementByIdnullböyle bir öğe yoksa döndürür .


1

Bu şunlarla çalışır:

 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');
 }

1

Daha da iyi bir çözüm var. Öğenin dönüp dönmediğini kontrol etmenize bile gerek yok null. Bunu basitçe yapabilirsiniz:

if (document.getElementById('elementId')) {
  console.log('exists')
}

Bu kod, yalnızca existsöğe DOM'da gerçekten mevcutsa konsola günlüğe kaydedilir .


0

Aşağıda yapıyorum ve var olup olmadığını kontrol ediyorum ve varsa idişlevi çalıştırıyorum.

var divIDVar = $('#divID').length;
if (divIDVar === 0){ 
    console.log('No DIV Exist'); 
} else{  
    FNCsomefunction(); 
}   

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.