这可能吗?尝试使用下面的代码,但遗漏了一些东西?
https://jsfiddle.net/Ld7t7wag/1/
$("h1").click(function(){
var htmlvar = $('html')[0].outerHTML;
$(htmlvar).find("h1").html("NEWTITLE");
$("html").html($("html", htmlvar).html());
});
答案 0 :(得分:1)
(当然,通常,您只需直接在DOM中修改h1
内容。我假设您有充分的理由想要在与页面本身分离的片段中执行此操作,或者你不会打扰提问。)
// Get your html string from wherever:
var htmlstr = $('#foo').html(); // or just a string
// convert the string into a jQuery object:
var fragment = $(htmlstr);
// Manipulate its contents as needed:
fragment.find("h1").html("NEWTITLE");
// Now put the changed HTML string wherever:
$('#foo').html(fragment.html())

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="foo"><div>Here are some <h1>HTML tags</h1></div></div>
&#13;
我不相信您可以替换整个HTML页面,因为您尝试在您的代码段中执行操作 - 这会覆盖所有内容,包括尝试覆盖的脚本。最多覆盖body
内容(尽管这样做太过分了,因为它会破坏以前附加到DOM的任何事件绑定等) - 尝试将更改限制为一小部分你可以使用DOM树。)
答案 1 :(得分:0)
你不能只改变<h1/>
的文本并避免一起更改整个html吗?对我来说这似乎是多余的。
$(function() {
$("h1").click(function() {
$(this).text('NEWTITLE');
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1>
TEST
</h1>
&#13;