2013-12-07 92 views
0

如果一個div在頁面上不存在,我的意思是甚至在代碼中都沒有;我不只是在談論顯示:沒有。我如何檢查頁面上是否存在?Javascript/jQuery - 使用谷歌地圖

我使用谷歌地圖,當你點擊一個標記來查看信息窗口時,一個div被添加到源代碼中;但在此之前,實際源代碼中沒有div。

我正在尋找一些幫助使用javascript/jquery來檢測div是否被添加到源代碼中。然後搜索那個div,裏面有一個「button」類的div。

$(document).ready(function(){ 

    var button = $(".button"); 
    var buttonlength = button.length; 

    if (buttonlength) { 
     console.log("div exist"); 

     button.on("click", function(){ 
      $(".info").css("display", "block"); 
     }); 

    } else { 
     console.log("div does not exist"); 
    } 
}); 

點擊事件不起作用,因爲我覺得DOM沒有意識到點擊地圖標記後div在頁面上。

回答

0

DOM是活的,所以只是想從DOM元素並檢查長度應該做

if ($('#element_id').length) { 
    // element exists 
} 

,在DOM 當你運行它檢查元素所有腦幹。

編輯:

好像你真正尋找的是一個委託的事件處理程序

$(document).ready(function(){ 
    $(document).on('click', '.button', function() { 
     $('.info').css('display','block'); 
    }); 
}); 
+0

謝謝,我用一些代碼更新了我的問題,使用你的建議。但似乎仍然遇到麻煩。 – user2592330

+0

@ user2592330 - 編輯答案 – adeneo

0

試試這個?

jQuery.exists = function('.button') {return ($('.button').length > 0);} 

$(document).ready(function(){ 

    //var button = $(".button"); 
    //var buttonlength = button.length; 

    if ($.exists('.button')) { 
     console.log("div exist"); 

     $(".button").on("click", function(){ 
      $(".info").css("display", "block"); 
     }); 

    } else { 
     console.log("div does not exist"); 
    } 
});