我有一个使用jquery和一组嵌入式模板的单页Web应用程序.模板可能包含如下标记:
以及用于检索模板的jquery代码
$("#sample").html();
上面的jquery命令的输出是
代替
我该如何修复此输出?
最佳答案
< script>中的所有内容预计是脚本,而不是HTML.
浏览器看到:
< script type =“html / template”id =“sample”>
并开始解释随后显示为脚本的所有内容,当它到达内部<脚本时,它被视为文本. 例外是< / script>浏览器正在查找以便将上下文从脚本切换到HTML,因此当它看到第一个< / script>时在:
< script type =“text / javascript”charset =“utf-8”> alert(‘x’);< / script>
它假定开始脚本块是完整的&切换回期望HTML,正确地将外部脚本节点的内容设置为:
< script type =“text / javascript”charset =“utf-8”> alert(‘x’);
您可以实现在服务器上尝试执行的操作并在其中进行解析,也可以使用不同的方法进行模板化.