2010-11-13 178 views
18

使用Javascript我試圖測試文檔中是否存在ID爲「test_div」的DIV。用JQuery檢查DIV ID是否存在

我使用

if (getElementById("test_div")) 

在下面的腳本來檢查,如果DIV文檔中存在。但它不起作用。我對JavaScript沒有太多的經驗;但從我所做的研究來看,似乎我的問題可能與嵌套函數有關。

如果刪除

if (getElementById("test_div")) 

有誰知道如何檢查,如果id爲「test_div」一個DIV文件從函數中,如下圖所示存在這樣的腳本不工作呢?

<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

你使用的是什麼javascript框架?看起來不像jQuery或原型...它可能有一個內置的方法來做到這一點。 – 2010-11-13 03:29:09

回答

46

你必須做document.getElementById(id)。但看到你如何使用jQuery - 你也可以做$(id).length > 0來檢查元素是否存在

+2

我也嘗試過document.getElementById(id),但它不起作用 – Mark 2010-11-13 03:24:53

+2

爲了準確,在你的情況下它會是'document.getElementById(「test_div」)',注意引號的id。 – Aishwar 2010-11-13 03:26:37

+2

原來這是缺少「文件」的組合。和導致問題的大寫字母「D」。 – Mark 2010-11-13 03:40:31

11

你的情況在你的示例代碼中是不正確的。您應該調用getElementById,並使用小寫d。 Javascript是區分大小寫的。

如果您使用的是jquery,請確保以id爲前綴,如$(「#test_div」),所以jquery知道您想要查詢元素ID。