2010-09-06 205 views
0

我對使用jQuery相當陌生,但目前正在使用Safari擴展,並且遇到了一些難題,即將一些文本附加到頁面上。使用jQuery更改動態內容?

基本上,我創建的擴展,將頁面上的文本的特定字符串追加與其他元素

<td id="name">foo</td> 

內使用下面的jQuery代碼

jQuery("#name").filter(function() 
     {return jQuery(this).text() == 'foo'; }).append('bar'); 

這將導致

<td id="name">foobar</td> 

這在標準的html頁面很好用,但是 - th E盤我希望它運行上使用JS的不同的位來動態加載該元素中的內容,因此在網站上進行測試時它,該元件被列爲

<td id="name"></td> 

,然後將JS庫添加名稱,這意味着我不能附加文本(該名稱出現在瀏覽器窗口中,但不在頁面的源文件中)。有沒有辦法解決這個問題?

我使用

$(window).load() 

雖然這是沒有效果的嘗試。

+0

如何動態加載內容? – kennytm 2010-09-06 20:22:53

+1

你提出的問題沒有任何意義。無論頁面加載時的樣子如何,Javascript(帶或不帶jQuery)都會在DOM上實際存在。 – Pointy 2010-09-06 21:59:14

回答

1

這聽起來像你需要延遲你的腳本,所以它會運行後,其他腳本是寫「富」運行。一般的jQuery腳本與

$(function(){ /* script */ }); 

所以如果這是太早,你可能需要綁定到某個事件時,「foo」被寫,你可能要鉤住你的其他腳本,是發生在文檔加載運行。從問題中不清楚,這是一個ajax事物,它會寫「foo」或者只是另一個沒有任何額外負載的腳本。你可能想要發佈。

如果您仍然無法弄清楚,您可以隨時使用setTimeout()調用來延遲腳本,但這是sl and而不推薦的。