为啥在 jQuery 脚本中使用 *//<![CDATA[* 和 *//]]>*? [复制]
Posted
技术标签:
【中文标题】为啥在 jQuery 脚本中使用 *//<![CDATA[* 和 *//]]>*? [复制]【英文标题】:Why use *//<![CDATA[* and *//]]>* in a jQuery script? [duplicate]为什么在 jQuery 脚本中使用 *//<![CDATA[* 和 *//]]>*? [复制] 【发布时间】:2014-03-21 11:57:47 【问题描述】:我有这个工作的 javascript:
<script type="text/javascript">
//<![CDATA[
jQuery(document).ready(function()
jQuery("#page_template option[value='sidebar-page.php']").remove();
);
//]]>
</script>
//<![CDATA[
和 //]]>
代表什么?我从未使用过它,但最近我经常遇到它。
提前感谢各位大大增加了我的知识! ;)
【问题讨论】:
这里的CDATA标签已经被注释掉了,那么这里肯定没有作用吧?所以我不明白为什么这个问题被标记为重复。 【参考方案1】:CDATA 用于允许将文档作为直接 XML 加载。您可以嵌入JS in XML documents,而无需将特殊的 XML 字符(如 、& 等)替换为 XML 实体 <、>、&等以防止 XML 语法被破坏。
因此,您的 XML 中的 double slash //
将被视为文本而不是注释,因此它将 CDATA 作为 XML 标记。
wiki 说:-
在 XML 文档或外部解析实体中,CDATA 部分是 标记为供解析器解释的元素内容部分 仅作为字符数据,而不是标记。 CDATA 部分只是一个 表示字符数据的替代语法;没有语义 显示为 CDATA 部分的字符数据之间的差异 和以通常语法显示的字符数据,其中
【讨论】:
为您修复了实体;) 是的。但是提问者想知道这些标签已经用双斜杠注释掉了。那么这些标签肯定没有效果吗?以上是关于为啥在 jQuery 脚本中使用 *//<![CDATA[* 和 *//]]>*? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
WEB前端开发 使用requirejs 引入脚本为啥页面首次加载会出现其他依赖jquery的文件先于jquery加载
为啥我必须将所有脚本放在 jquery mobile 中的 index.html 中
为啥我的代码中没有运行 jQuery 文档就绪函数? [复制]