1

我试图从一个页面中获取整个 DOM

document.getElementsByTagName('html')[0].innerHTML

但我注意到它没有得到任何inputs, textareas,selects等的当前值...

有没有办法我也可以获取它们的当前值?本质上,我想在当前状态下对页面进行快照。

我在 JQuery 中查看过.each.serialize但似乎两者都不是理想的解决方案..

4

2 回答 2

3

首先将所有表单输入的值移动到value属性:

$(':input').each(function(){
    $(this).attr('value', this.value);
});

然后使用您的代码:

document.getElementsByTagName('html')[0].innerHTML
// Or the jQuery way:
$('html').html()

现场演示

于 2012-05-01T05:59:01.330 回答
1

您可以尝试这样的方法来通过 jQuery 选择 DOM 中包含的所有元素

 $(document).Ready(function(){
 //select all the document in the DOM
  $("*");
 });
于 2012-05-01T06:01:22.663 回答