javascript - 呈现为文本内容的内联脚本

标签 javascript jquery html ajax inline-code

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

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

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

最佳答案

您需要转义结束 script 标签的 / 正斜杠。

Live Demo

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

关于javascript - 呈现为文本内容的内联脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16769731/

相关文章:

JavaScript 文件读取器()

javascript - 如何根据内容调整 Flickity 轮播的高度?

jquery - 悬停状态很古怪

jquery - FullCalendar 在周末和无周末之间切换

html - 是否有任何选项可以通过悬停来更改其他 div 元素?

javascript - JQuery - 将 JS 转换为 JQuery 以生成允许解析 URL 参数的表

javascript - 使用 javascript array.reduce 删除重复项

javascript - Angularjs在ng-click函数中传递参数值

javascript - HighChart 中的系列数据

javascript - 当删除类时。类(class)长度没有变化?