2010-11-13 79 views
18

Sử dụng Javascript Tôi đang cố kiểm tra xem có phải DIV có id "test_div" tồn tại trong tài liệu hay không.Kiểm tra xem id DIV có tồn tại với JQuery

Tôi đang sử dụng

if (getElementById("test_div")) 

trong kịch bản dưới đây để kiểm tra xem DIV tồn tại trong tài liệu. Tuy nhiên, nó không hoạt động. Tôi không có nhiều kinh nghiệm với Javascript; nhưng từ nghiên cứu tôi đã làm, có vẻ như vấn đề của tôi có thể liên quan đến chức năng lồng nhau.

Các kịch bản không làm việc nếu tôi loại bỏ các

if (getElementById("test_div")) 

Có ai biết làm thế nào để kiểm tra xem một DIV với id "test_div" tồn tại trong tài liệu từ bên trong hàm như hình dưới đây?

<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

Bạn đang sử dụng khung javascript nào? Không giống như jquery hay prototype ... nó có thể có một cách tích hợp để làm điều này. –

Trả lời

46

Bạn sẽ phải làm document.getElementById(id). Nhưng xem cách bạn đang sử dụng jquery - bạn cũng có thể thực hiện $(id).length > 0 để kiểm tra xem phần tử có tồn tại không

+2

Tôi đã thử document.getElementById (id), nhưng nó không hoạt động – Mark

+2

Để chính xác, trong trường hợp của bạn, nó sẽ là 'document.getElementById (" test_div ")', lưu ý các dấu ngoặc kép quanh id. – Aishwar

+2

Hóa ra đó là sự kết hợp của "tài liệu" bị thiếu. và chữ hoa "D" đã gây ra sự cố. – Mark

11

Trường hợp của bạn không chính xác trong mã mẫu của bạn. Bạn nên gọi getElementById, với chữ thường d. Javascript phân biệt chữ hoa chữ thường.

Nếu bạn đang sử dụng jquery, hãy đảm bảo id tiền tố có số #, như vậy $ ("# test_div"), vì vậy jquery biết bạn muốn truy vấn id phần tử.

Các vấn đề liên quan