<script>元素在XHTML中的用法

  编写XHTML代码的规则要比编写HTML严格得多,例如如下代码:

 1 <script type="text/javascript">
 2     function compare(a, b){
 3         if(a < b) {
 4             alert("A is less than B");
 5         } else if(a > b){
 6             alert("A is greater than B");
 7         } else{
 8             alert("A is equal to B");
 9         }
10     }
11 </script>

  这个代码在HTML中是有效的,但是在XHTML中却是无效的。这里的比较语句 a < b 中的小于号(<)在XHTML中将被当作开始一个新标签解析。但是作为标签的话,小于号后面是不可以有空格的,因此这里就会导致语法错误。

解决方案:

  ①使用HTML实体(&lt;)代替代码中所有的小于号(<),虽然可以解决问题,但是影响了代码的理解性;

  ②使用CData片段,如下:

 1 <script type="text/javascript"><![CDATA[
 2     function compare(a, b){
 3         if(a < b) {
 4             alert("A is less than B");
 5         } else if(a > b){
 6             alert("A is greater than B");
 7         } else{
 8             alert("A is equal to B");
 9         }
10     }
11 ]]></script>

   这个方法可以在兼容XHTML的浏览器中解决这个问题。但是还有不少浏览器不兼容XHTML,因而不支持CData片段。所以,为了兼容所有浏览器,可以采用如下方法:

 1 <script type="text/javascript">
 2 //<![CDATA[
 3     function compare(a, b){
 4         if(a < b) {
 5             alert("A is less than B");
 6         } else if(a > b){
 7             alert("A is greater than B");
 8         } else{
 9             alert("A is equal to B");
10         }
11     }
12 //]]>
13 </script>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Albert陈凯

CentOS6.8_Spark单机部署

首先需要JDK 下载安装JDK 下载spark wget https://d3kbcqa49mib13.cloudfront.net/spark-1.6.3-b...

3146
来自专栏云计算教程系列

如何在Debian 7上安装MySQL和phpMyAdmin

phpMyAdmin是一个Web应用程序,它提供了一个GUI来帮助MySQL数据库管理。它支持多个MySQL服务器。

2303
来自专栏耕耘实录

浅谈Linux下傻瓜式磁盘分区工具cfdisk的使用

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

1672
来自专栏我是攻城师

理解Vmware虚拟机的网络模式

命名方式VMnet0,VMnet1,VMnet......以此类推,默认情况下在vm里面已经有一些映射如下:

49210
来自专栏CSDN技术头条

编译器LLVM3.8发布

LLVM编译器发布3.8版本了,主要是对以前版本各项性能的优化,以及对之前版本的升级。最新的发布日志可以查看这里。 这次发布的主要变化有: 这次版本要求...

1897
来自专栏张善友的专栏

解决VMware 7在Windows 7上无法上网的问题

Windows 7上的VPC不能安装64位的操作系统和Linux等,就安装了个VMware 7来解决我的这个问题,另一个问题出来了虚拟机里头的系统无法上网,通过...

2146
来自专栏游戏杂谈

node.js使用mysql模块的坑

  之前用node.js写的订餐系统,很容易挂掉,一直也没想去解决它。今天看了一下,试了试,原因是在连接数据库的时候没有对error事件进行处理,导致程序一直挂...

1813
来自专栏乐沙弥的世界

VmWare6.5.2下安装RHEL 5.4(配置Oracle安装环境)

如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2009/10/04/4632312.aspx

1092
来自专栏IT笔记

Maven初探-如何快速入手一个项目

这已是一个工具的时代,而不是一个到处搜集JAR的年代,如果还在为搭建一个项目而到处找依赖,那你就彻底OUT了。下面,跟各位一起重温学习下Maven。 什么是Ma...

2769
来自专栏我是攻城师

理解Vmware虚拟机的网络模式

像物理交换机一样,虚拟交换机将虚拟网络连接在一起,故而也被称为虚拟网络 命名方式VMnet0,VMnet1,VMnet......以此类推,默认情况下在vm里面...

1373

扫码关注云+社区

领取腾讯云代金券