2015-05-28 80 views
0

我想知道是否有任何方法來刷新DOM,讓我們說一個函數內的超時而不需要事件?像點擊或什麼的?有沒有什麼辦法可以在沒有點擊或任何其他事件的情況下刷新DOM?

我基本上需要遍歷所有的div與一個特定的類,這些div插入一個JavaScript(我不能修改它),我想,插入後,修改一些內容...有什麼辦法去做這個?

+0

是的,它被稱爲* meta refresh *標籤。 – adeneo

+0

如果您正在尋找一連串的行動..然後嘗試'觸發'選項。例如,您可以通過$('#controlid')來執行事件。trigger(''); –

+0

任何想法如何在代碼中做到這一點? – jpganz18

回答

1

這是一種方式:

setInterval(function() { 

    $('.certain-class').each(function() { 
     $(this).html('modify some content'); 
    }); 

}, 2000); // every 2 seconds 

如果只應延遲後運行一次,使用setTimeout代替setInterval

+0

但它不會工作,如果divs dinamically添加..會嗎? – jpganz18

+0

它應該,除非你運行緩存的jquery結果,而不是一個CSS選擇器'每個' – Rudi

+0

我試過類似的東西,但什麼都沒有發生......我相信是因爲divs dinamically添加... – jpganz18

0

我知道你沒有一個發佈會上說,但我想你的意思,而無需用戶相互作用。如果是這樣,這是一個可以使用endrequest事件的地方嗎?這個事件發生在一個異步回發完成後,控制權返回給瀏覽器,所以如果這個其他的javascript是作爲異步回傳的一部分執行的,你可以使用它告訴瀏覽器在完成其他代碼之後運行你的代碼。見here

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler) 

其中endRequestHandler是你的代碼是要檢查/改變DOM。

相關問題