我将 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
标签的 /
正斜杠。
$('#foo').replaceWith('<div>Some Content</div><script>someJavaScriptFunction()<\/script>');
关于javascript - 呈现为文本内容的内联脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16769731/