为什么在jQuery脚本中使用* // <! - [CDATA [*和* //]] - > *?

时间:2014-02-20 13:38:55

标签: javascript jquery

我有这个javascript的工作:

<script type="text/javascript">
    //<![CDATA[
        jQuery(document).ready(function() {
            jQuery("#page_template option[value='sidebar-page.php']").remove();
        });
    //]]>
</script>

//<![CDATA[//]]>代表什么?我从来没有用过它,但最近我经常见到它。 提前谢谢你们增加我的知识! ;)

1 个答案:

答案 0 :(得分:4)

CDATA用于允许将文档作为直接XML加载。您可以嵌入JS in XML documents,而无需通过XML实体&amp; lt;,&amp; gt;,&amp; amp; amp替换特殊的XML字符,如&lt ;,&gt;,&amp;等等。等,以防止XML语法被破坏。

因此,XML中的double slash //将被视为文本而不是注释,因此它将CDATA视为XML标记。

wiki 说: -

  

在XML文档或外部解析的实体中,CDATA部分是a   标记为解析器解释的元素内容的一部分   仅作为字符数据,而不是标记。 CDATA部分仅仅是一个   表达字符数据的替代语法;没有语义   显示为CDATA部分的字符数据之间的差异   和通常语法中表现出的字符数据&lt;   和&amp;将由&lt;和&amp;分别。