2015-04-02 38 views
0

我有一個AJAX調用,它從PHP文件返回一些數據。我正在嘗試清空一些HTML內容並將其替換爲PHP文件返回的數據。我用這個來清空內容:檢查源代碼時empty()不會刪除html內容

$('#due-tasks-content').empty(); 

,這增加了新的內容:

$('#due-tasks-content').html(data.due_tasks); 

這似乎是工作,在視覺上,但如果我檢查頁面的源代碼使用查看源瀏覽器選項,內容不會被刪除。如果我刷新源頁面,內容將被刪除。

我的問題是,如何擦除內容而不必刷新?我試過刪除(),replaceWith()和空(),但它們似乎都只是在視覺上擦除內容,而不是在後端。

更新:

的問題如下:

我有兩張表,A和B假設。

表A有一個任務,表B是空的。

當任務完成後,它進入表B.在PHP文件中的更新函數結束時,PHP會回顯新的更新表,我會回到Ajax調用中。然後我需要用新的表格刪除舊錶格。

這工作正常。使用這些表格,我有一些引導模式,當用戶單擊表格的名稱列時會出現,這會向用戶顯示一些信息。模式是通過ID。

當任務從表A到表B,當我點擊表B的名稱列時,模式不顯示,我不知道爲什麼。我現在意識到,根據我的理解,我通過查看源代碼而犯了一個錯誤,它只顯示了最初加載頁面的方式。

+0

如果你想從你的後端刪除任務或任何東西,你將需要使用ajax命中你寫的一個Web服務,它知道如何從你使用的任何存儲(數據庫)中刪除任務。 – 2015-04-02 19:01:09

+0

這不是我想要做的。 – 2015-04-02 19:01:53

+2

[什麼是DOM?](https://css-tricks.com/dom/)這將回答你的問題。 – 2015-04-02 19:02:00

回答

3

首先,jQuery的html()在內部調用empty(),所以你不需要。其次,源碼永不改變,它是.......等待它........的源代碼。

當您使用javascript在DOM中添加或刪除某些內容時,源代碼不會更改,DOM是,您可以通過打開控制檯(F12)來檢查DOM。

點擊「查看源代碼」不會顯示您的DOM,它會顯示您想要查看源文件的內容。

jQuery和javascript運行在客戶端,在瀏覽器中刪除DOM中的某些內容不會在服務器端將其刪除,這需要實際的服務器端代碼,可以從客戶端再次調用諸如ajax之類的代碼。

0

當您在瀏覽器中查看源代碼時,可以查看在執行任何JavaScript之前加載的文檔源代碼,而不是實際的DOM。

如果你想看到實際的DOM,在Firefox中你可以用鼠標選擇一個部分並執行view selection source。這會向您顯示當前選定的DOM部分。

0

您是否有完整的代碼示例?對我來說,聽起來就是看着實際的來源,因爲它接收到的客戶端不會改變。 jQuery代碼操縱DOM,但不能改變你最初收到的東西。