2010-11-13 16 views
18

Uso de Javascript Estoy intentando comprobar si existe o no un DIV con el id "test_div" en el documento.Compruebe si existe una identificación DIV con JQuery

estoy usando

if (getElementById("test_div")) 

en la secuencia de comandos a continuación para comprobar si el DIV existe en el documento. Sin embargo, no funciona. No tengo mucha experiencia con Javascript; pero de la investigación que he hecho parece que mi problema podría tener algo que ver con la función anidada.

El script funciona si quito el

if (getElementById("test_div")) 

¿Alguien sabe cómo comprobar si existe un DIV con el "test_div" id en el documento desde dentro de la función que se muestra a continuación?

<div id="test_div"></div> 

<script> 
function loadInfo(){ 
var req = new Request({ 
    method:'get', 
    url:'getinfo.php, 
    noCache: true, 
    onRequest: function(){ 

     if (getElementById("test_div")) { 
      $('test_div').set('html', 'loading data'); 
     } 

    }, 
    onComplete:function(responseText, responseHtml){ 
     if (JSON.decode(responseText) != null){ 
      var data = JSON.decode(responseText); 

      if (getElementById("test_div")) { 
       $('test_div').set('html', data['test_div']); 
      } 

     } 
    }, 
    onFailure: function(){ 

     if (getElementById("test_div")) { 
      $('test_div').set('html', '-'); 
     } 

    }   
}).send(); 
} 
window.addEvent('domready', function(){ 
loadInfo(); 
}); 
</script> 
+0

¿Qué marco de JavaScript está utilizando? No parece jquery o prototipo ... puede tener una forma incorporada de hacer esto. –

Respuesta

46

Tendría que hacer document.getElementById(id). Pero al ver cómo está usando jquery, también puede hacer $(id).length > 0 para verificar si el elemento existe

+2

Probé document.getElementById (id) también, pero no funciona – Mark

+2

Para ser preciso, en su caso sería 'document.getElementById (" test_div ")', tenga en cuenta las comillas alrededor de la identificación. – Aishwar

+2

Resulta que era una combinación del "documento" faltante. y la "D" mayúscula que causaba el problema. – Mark

11

Su caso es incorrecto en su código de muestra. Debería invocar getElementById, con una d minúscula. Javascript distingue mayúsculas de minúsculas

Si está utilizando jquery, asegúrese de prefijar id con un #, como so $ ("# test_div"), por lo que jquery sabe que desea consultar un identificador de elemento.