我将DOM对象作为HTML字符串给出,并通过AJAX使用jQuery方法replaceWith()
插入到HTML页面中。 HTML字符串包含<div>
元素和内联<script>
,jQuery命令如下所示:
$('#foo').replaceWith('<div>Some Content</div><script>someJavaScriptFunction();</script>');
执行此AJAX后,<div>
元素正确呈现,<script>
内的脚本正常工作,但除此之外,内联<script>
的内容为在页面上逐字呈现。为什么会这样?我怎么能避免这个?当我在Chrome开发人员工具上看到相应的部分时,内联脚本只出现一次(这就是我的意图)。
答案 0 :(得分:3)
您需要转义关闭/
代码的script
正斜杠。
<强> Live Demo 强>
$('#foo').replaceWith('<div>Some Content</div><script>someJavaScriptFunction()<\/script>');