检查源时,empty()不会删除html内容

时间:2015-04-02 18:54:29

标签: jquery html ajax

我有一个AJAX调用,它从PHP文件中返回一些数据。我试图清空一些HTML内容并将其替换为PHP文件返回的数据。我用它来清空内容:

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

并添加新内容:

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

这似乎在视觉上有效,但如果我使用“查看源”浏览器选项检查页面的来源,则不会删除内容。如果我刷新源页面,内容将被删除。

我的问题是,如何在不刷新的情况下删除内容?我尝试过remove(),replaceWith()和empty(),但它们似乎只是在视觉上擦除内容,而不是在后端。

更新

问题如下:

我有两张桌子,A和B让我们说。

表A有一项任务,表B是空的。

当任务完成后,它进入表B.在PHP文件中的更新函数结束时,PHP回显新的更新表,我在Ajax调用中返回。然后我需要用新的表删除旧表。

这很好用。使用这些表,我有一些引导模式,当用户单击表的名称列时将显示该模式,这将向用户显示一些信息。模式是ID。

当任务从表A转到表B时,当我单击表B上的名称列时,模态不会显示,我不知道为什么。我现在意识到通过查看源代码我犯了一个错误,因为我理解这只是显示页面最初是如何加载的。

3 个答案:

答案 0 :(得分:3)

首先,jQuery的html()在内部调用empty(),因此您根本不需要。

其次,源码永远不会改变,它是......等待它........源代码。

当您使用javascript在DOM中添加或删除某些内容时,不会更改源,DOM是,您可以通过打开控制台来检查DOM(F12)。

点击"查看来源"没有向您显示DOM,它会显示您想要查看其来源的文件的内容。

jQuery和javascript在客户端运行,在浏览器中删除DOM中的某些内容并不会在服务器端删除它,这需要实际的服务器端代码,这些代码也可以通过ajax之类的东西从客户端调用。 / p>

答案 1 :(得分:0)

当您在浏览器中查看源时,您可以查看在执行任何javascript之前最初加载的文档源,而不是实际的DOM。

如果您想查看实际的DOM,可以在Firefox中使用鼠标选择一个部分并执行view selection source。这将显示DOM的当前选定部分。

答案 2 :(得分:0)

你有完整的代码示例吗?听起来对你来说,你正在查看实际来源,因为它收到的客户不会改变。 jQuery代码操纵DOM但不能改变你最初收到的内容。