无痛地将HTML传递给javascript

时间:2011-11-08 09:07:38

标签: javascript html

我需要将html传递给javascript,以便我可以按需显示html。 我可以通过在页面上使用带有html内容的textarea标记来使用textareas来实现它,如下所示:<textarea id="html">{whatever html I want except other textareas}</textarea> 然后使用jquery我可以在页面上显示它:

$("#target").html($("#html").val());

我想知道的是如何正确地完成它,而不必使用textareas或者在页面的<body>中存在html?

4 个答案:

答案 0 :(得分:3)

您可以使用jquery模板。它有点复杂,但提供了许多其他不错的功能。

https://github.com/codepb/jquery-template

答案 1 :(得分:1)

只需将其保存在变量中:

<script type="text/javascript">
  var myHTML = '<div>Foo Bar</div>';
</script>

答案 2 :(得分:0)

据我所知,由于html和javascript的性质,没有无痛的方法可以做到这一点。

您可以将html作为字符串存储在javascript变量中,例如:

var string = '<div class="someClass">your text here</div>';

但是你应该注意,字符串包含在以太'"中,如果你在html中使用ether,你将过早地结束字符串并导致无效的javascript错误。

您可以决定只在html中使用一种类型的引用说"然后'来保存javascript中的字符串,但更具体的方法是在html中转义引号,如下所示:

<div \"someClass\">your text here</div>

通过将\放在一个特殊字符之前,你告诉它它应该忽略这个字符,但是当你去打印它时,字符仍会打印,但\字符不会,给你功能html。

答案 3 :(得分:0)

就像remy提到的那样,您可以使用jQuery模板,如果将它与胡子结合使用它会更酷! (它支持很多平台)

另外,胡子jQuery插件比jQuery模板更先进。

https://github.com/jonnyreeves/jquery-Mustache