JQuery 获取实时 DOM 更改 HTML

Posted

技术标签:

【中文标题】JQuery 获取实时 DOM 更改 HTML【英文标题】:JQuery get live DOM change HTML 【发布时间】:2011-08-20 01:57:34 【问题描述】:

例如,我将 body 标记的 html 内容存储在 Jquery 的一个变量中。所以,

var current_html = $("body").html();

然后我附加一些 DIV 并进行其他动态更改。即使我在每次 DOM 更改后出于某种原因更新变量“current_html”,它也只会在文档加载时输出原始 DOM 内容,并且不包含任何附加项......即使我更新了 current_html 变量。

那么有没有办法读取当前的 DOM html,包括所有动态附加的项目。我尝试了 .live 的各种用法,但没有任何乐趣。

提前致谢。

【问题讨论】:

你的英语不是很清楚,但你的 current_html var 有一个 html 副本,更新它不会更新 dom。您可以使用以下命令更新将您的更改归因于正文的 dom:$('body').html(current_html)。 【参考方案1】:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="jquery-1.4.2.min.js"> </script>
</head>

<body>
<script type="text/javascript">
$(document).ready(function()
console.log($("body").html());
var new_element = $('<div id="2-div">test2 </div>');
new_element.appendTo("body");
console.log($("body").html());
);

 </script>

<div id="1-div">test-1</div>
</body>
 </html>

我试过了,效果很好。添加新元素后,我能够看到更新的 HTML。如果上述内容不是您的意思,您能否发布一些代码。

【讨论】:

以上是关于JQuery 获取实时 DOM 更改 HTML的主要内容,如果未能解决你的问题,请参考以下文章

jQuery笔记——DOM操作

如何通过jquery获取js动态append到html页面的dom属性

jquery获取改变元素属性值

jquery如何获取动态创建的且还没有放入dom的元素的宽度

将 jQuery 选择器转换为 HTML 以获取新的 DOM 元素

jquery16 DOM操作 : 添加 删除 获取 包装 DOM筛选