2011-05-06 60 views
3

例如,我将body标签的HTML内容存储在Jquery中的变量中。所以,JQuery获得实时DOM更改HTML

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

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

那么有没有一种方法来读取当前的DOM html,包括所有已动态添加的项目。我尝试过.live的各种用途,但没有喜悦。

在此先感谢。

+0

你是英语不是很清楚,但你的current_html var有一个html的副本,并更新它不会更新dom。你可以更新dom,将你的改变归因于:$('body')。html(current_html)。 – tiagoboldt 2011-05-06 10:39:38

回答

0
<!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。如果上述事情不是你的意思,你可以发布一些代码吗?