可能的重复:使用.load() 等
jQuery Ajax 函数选择 HTML注释会从 HTML 中删除注释。
我怎样才能保留评论?
我们正在做一个 AJAX 调用,结果是通过
$('#page_section').html(result);
问题是结果被从我们那里的所有 HTML 注释中剥离。我们需要将 HTML 注释保留在那里,因为它们包含我们稍后需要 CMS 的 JSON 对象。任何防止 HTML 注释被使用.html()
.
谢谢!
可能的重复:使用.load() 等
jQuery Ajax 函数选择 HTML注释会从 HTML 中删除注释。
我怎样才能保留评论?
我们正在做一个 AJAX 调用,结果是通过
$('#page_section').html(result);
问题是结果被从我们那里的所有 HTML 注释中剥离。我们需要将 HTML 注释保留在那里,因为它们包含我们稍后需要 CMS 的 JSON 对象。任何防止 HTML 注释被使用.html()
.
谢谢!
该html()
方法不剥离评论:http: //jsfiddle.net/WEQW9/
这是 ajax 方法,检查Ajax 函数,如 .load() 从 HTML 中删除注释。我怎样才能保留评论?
你不能使用 .append() 或 .prepend() 吗?
例子:
$('#page_section').append(result);
$('#page_section').prepend(result);
这会将结果附加或添加到匹配的元素。
http://api.jquery.com/append/ http://api.jquery.com/prepend/
一种方法是使用纯 Javascript:
$(selector)[0].innerHTML = 'String with comments JSON and BlackJack';
第二个也是最好的一个 - 您可以使用元素属性进行 json 传递(甚至是类属性)。
如果您使用的是 ID(您有问题),您可以使用 vanilla javascript:
document.getElementById("page_section").innerHTML = result;
正如这个答案(含蓄地)所述,.innerHTML()
确实创建了评论节点。
我必须说我同意 Michael C Schuller 的观点,为此使用data
属性,它是为这类事情而制作的。