1

可能的重复:使用.load() 等
jQuery Ajax 函数选择 HTML注释会从 HTML 中删除注释。
我怎样才能保留评论?

我们正在做一个 AJAX 调用,结果是通过

$('#page_section').html(result);

问题是结果被从我们那里的所有 HTML 注释中剥离。我们需要将 HTML 注释保留在那里,因为它们包含我们稍后需要 CMS 的 JSON 对象。任何防止 HTML 注释被使用.html().

谢谢!

4

4 回答 4

3

html()方法不剥离评论:http: //jsfiddle.net/WEQW9/

这是 ajax 方法,检查Ajax 函数,如 .load() 从 HTML 中删除注释。我怎样才能保留评论?

于 2012-12-04T18:22:05.760 回答
0

你不能使用 .append() 或 .prepend() 吗?

例子:

$('#page_section').append(result);
$('#page_section').prepend(result);

这会将结果附加或添加到匹配的元素。

http://api.jquery.com/append/ http://api.jquery.com/prepend/

于 2012-12-04T18:21:45.557 回答
0

一种方法是使用纯 Javascript:

$(selector)[0].innerHTML = 'String with comments JSON and BlackJack';

第二个也是最好的一个 - 您可以使用元素属性进行 json 传递(甚至是类属性)。

于 2012-12-04T18:22:02.607 回答
0

如果您使用的是 ID(您有问题),您可以使用 vanilla javascript:

document.getElementById("page_section").innerHTML = result;

正如这个答案(含蓄地)所述,.innerHTML()确实创建了评论节点。

我必须说我同意 Michael C Schuller 的观点,为此使用data属性,它是为这类事情而制作的。

于 2012-12-04T18:22:33.700 回答