Javascript 获取包含输入值的页面的整个HTML
我试图将整个页面保存为HTML文件,将所有已写入的值都包含到输入中。我试过这个:Javascript 获取包含输入值的页面的整个HTML,javascript,jquery,html,Javascript,Jquery,Html,我试图将整个页面保存为HTML文件,将所有已写入的值都包含到输入中。我试过这个: $("#content").html(); 但它不会保存输入值 $("#content").get(0).outerHTML; $("#content").prop('outerHTML'); 工作原理相同,但仍不保存输入值。我需要保存页面上所有内容的功能。您可以尝试: $("html").html(); 如果您还想捕获hmtl标记,可以将它们连接到html,如下所示: function getPageHTM
$("#content").html();
但它不会保存输入值
$("#content").get(0).outerHTML;
$("#content").prop('outerHTML');
工作原理相同,但仍不保存输入值。我需要保存页面上所有内容的功能。您可以尝试:
$("html").html();
如果您还想捕获hmtl标记,可以将它们连接到html,如下所示:
function getPageHTML() {
return "<html>" + $("html").html() + "</html>";
}
你可以试试:
$("html").html();
如果您还想捕获hmtl标记,可以将它们连接到html,如下所示:
function getPageHTML() {
return "<html>" + $("html").html() + "</html>";
}
当用户更改输入时,它的
。值正在更改.value
不在DOM中,它在JS中。因此,您需要做的是将.value
传输到value=
,以便能够在字符串中获取它。以下是如何实现这一目标:
$('input').each(function(index, input){input.setAttribute('value', input.value)});
现在尝试获取HTML;)
PS:您也可以在此处修改选择器,以不获取所有输入(如type=“password”
)。当用户更改输入时,它的值将被更改.value
不在DOM中,它在JS中。因此,您需要做的是将.value
传输到value=
,以便能够在字符串中获取它。以下是如何实现这一目标:
$('input').each(function(index, input){input.setAttribute('value', input.value)});
现在尝试获取HTML;)
PS:您也可以在此处修改选择器,而不是获取所有输入(如type=“password”
)。您需要先设置每个输入值:
$('#content input').each(function() {
$(this).attr('value', $(this).val());//set up all the input values
});
var html = $('#content').html(); //now from here you can get input values
您需要首先设置每个输入值:
$('#content input').each(function() {
$(this).attr('value', $(this).val());//set up all the input values
});
var html = $('#content').html(); //now from here you can get input values
输入值是属性,不影响HTML。您需要手动获取任何输入的所有值,并在生成的HTML字符串中更新它们。@roryvalue
属性是HTML的一部分……没错,但更改值时不会直接更新它。请参见此示例:。无论您在输入中设置了什么,控制台中显示的值始终是foo
。是的,但是将值设置为属性而不是复杂的字符串操作不是更容易吗?如果OP真的想这样做,那么这将是一个解决方案。不过,这听起来确实像个XY问题。也许clone()
也会起作用,尽管OPs的实际用例在这里会有所帮助。输入值是属性,不会影响HTML。您需要手动获取任何输入的所有值,并在生成的HTML字符串中更新它们。@roryvalue
属性是HTML的一部分……没错,但更改值时不会直接更新它。请参见此示例:。无论您在输入中设置了什么,控制台中显示的值始终是foo
。是的,但是将值设置为属性而不是复杂的字符串操作不是更容易吗?如果OP真的想这样做,那么这将是一个解决方案。不过,这听起来确实像个XY问题。也许clone()
也会起作用,尽管OPs的实际用例在这里会有所帮助。