使用jquery .html()时防止HTML注释被剥离

时间:2012-12-04 18:13:29

标签: jquery code-comments html

  

可能重复:
  Selecting HTML Comments with jQuery
  Ajax functions like .load() strip out comments from the HTML. How can I keep the comments?

我们正在进行AJAX调用,结果将通过

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

问题是结果会从我们在那里的所有HTML评论中删除。 我们需要HTML注释保留在那里,因为它们包含我们以后需要的JSON对象。 任何想法都可以使用.html()来阻止HTML注释被删除。

谢谢!

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

你能否使用.append()或.prepend()?

示例:

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

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

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

答案 2 :(得分:0)

一种方法是使用普通的Javascript:

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

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

答案 3 :(得分:0)

如果你使用的是ID(你在问题中),你可以使用vanilla javascript:

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

正如this所述(隐含地)回答.innerHTML()确实创建了评论节点。

我必须说我同意Michael C Schuller,使用data属性,这是为了这类事情。