jQuery prepend 后,内部 html 标记继续显示在引号内

Posted

技术标签:

【中文标题】jQuery prepend 后,内部 html 标记继续显示在引号内【英文标题】:Inner html tags keep showing up inside of quotes after jQuery prepend 【发布时间】:2016-12-03 07:24:08 【问题描述】:

我正在尝试将带有 iframe 子标签的 noscript 标签的一部分添加到正文中。我正在使用 jQuery。虽然前置确实有效,但我看到的是 iframe 标签总是出现在引号内。如果我先添加 noscript,然后在 noscript 中添加 iframe,则效果很好。不知道为什么会这样,如果有人可以解释,那就太棒了!

jQuery(document).ready(function() 
    jQuery('body').prepend('<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-123ABC"   style="display:none;visibility:hidden"></iframe></noscript>');
);

结果:

<noscript>
"<iframe src="//www.googletagmanager.com/ns.html?id=GTM-123ABC"   style="display:none;visibility:hidden"></iframe>"
</noscript>

【问题讨论】:

哈哈什么?使用 javascript 附加 noscript 标签? :D noscript 标签应该由 HTML 或 php 等服务器端编写。 【参考方案1】:

首先,如果您在启用 JavaScript 的情况下对其进行测试,Chrome 会引用 noscript 标签的 innerHTML,使其成为纯文本。其次,如果您禁用 JavaScript,jQuery 将无法工作,无法执行您想要的操作(添加 JavaScript 的替代方案) 您必须在不使用 JavaScript 的情况下添加它。

【讨论】:

【参考方案2】:

您对“noscript”标签的使用不正确。该标签为在浏览器中禁用脚本或浏览器不支持脚本的用户定义了替代内容。

<script>
document.write("Hello World!")
</script>
<noscript>Your browser does not support JavaScript!</noscript>

参考此链接: http://www.ghacks.net/2014/11/29/how-to-use-noscript-efficiently/

【讨论】:

以上是关于jQuery prepend 后,内部 html 标记继续显示在引号内的主要内容,如果未能解决你的问题,请参考以下文章

jQuery文档操作--append()prepend()after()和before()

[ jquery 文档处理 prepend(content|fn) ] 此方法用于向每个匹配的元素内部前置内容,这是向所有匹配元素内部的开始处插入内容的最佳方式

jQuery 追加元素的方法如append、prepend和队列方法如push,unshift

jquery中append跟prepend的用法

JQuery元素控制方法汇总

jQuery中的文档处理