3

我将 DOM 对象作为 HTML 字符串给出,并通过 AJAX 使用 jQuery 方法插入到 HTML 页面中replaceWith()。HTML 字符串包括一个<div>元素和一个<script>对其起作用的内联,jQuery 命令如下所示:

$('#foo').replaceWith('<div>Some Content</div><script>someJavaScriptFunction();</script>');

执行此 AJAX 后,<div>元素会正确呈现,并且其中的脚本<script>正在运行,但除此之外,内联的内容<script>会逐字呈现在页面上。为什么会这样?我怎样才能避免这种情况?当我在 Chrome 开发人员工具上看到相应的部分时,内联脚本只出现一次(这是我的本意)。

4

1 回答 1

3

You need to escape the / forward slash of closing script tag.

Live Demo

$('#foo').replaceWith('<div>Some Content</div><script>someJavaScriptFunction()<\/script>');
于 2013-05-27T09:13:01.627 回答