2016-02-19 87 views
-1

我一直在尋找如何選擇一個動態創建的(通過JQuery)元素(在這種情況下,div與類「日期」),並繼續通過.on( '點擊')方法。雖然這有效,但它似乎只在頁面被選中時(或者包含div#date-container,無論我最初選擇哪個)才選擇該div。選擇動態創建的HTML元素,無需點擊

理想情況下,當.date div加載時,我想對它們執行一些JQuery。這可能沒有點擊?

JQuery的:

$("#date-container").on("click", ".date", function() { 
    $('.date').text($('.date').text().replace('[', '')); 
}); 

HTML:

<div id="date-container"></div> 
+0

你只需要等到元素被創建後才能使用jQuery進行操作。你正在尋找的是事件委託,它是一種在動態創建元素添加到DOM之前添加事件處理程序的方法(因爲'$('。date')。click(function(){...} )'只將事件處理程序附加到DOM中的當前元素 –

+1

[元素添加到頁面時的事件]的可能重複(http://stackoverflow.com/questions/7434685/event-when-element-added-to-page) – gfullam

+0

如果你動態創建元素,你應該也可以做任何你想做的事情。你在哪裏以及如何創建元素?給我們你的代碼,以便我們可以進一步幫助你。 –

回答

0

嘗試......

$(document).bind("#date-container", "click", function(){ 
    // do it to it... 
}); 

這應該click事件綁定到甚至是動態創建的DOM。

+0

這似乎仍然需要用戶點擊任何影響「.date」的JQuery被調用到動作中。我是否按錯誤順序排列? – user2521295

+0

是不是有一個「load」事件? –