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获取js动态append到html页面的dom属性
jquery如何获取动态创建的且还没有放入dom的元素的宽度