JavaScript在XHTML中的用法
来源:互联网 发布:舔美网络大v 编辑:程序博客网 时间:2024/06/05 00:41
编写XHTML代码的规则要比编写HTML要严格得多,类似下面的代码在HTML中是有效的,但在XHTML中则是无效的。
<script type="text/javascript"> function compare(a, b) { if(a < b) { alert("a is less then b"); } else if(a > b) { alert("a is greater then b"); } else { alert("a is equal to b"); } } </script>
在HTML中,有特殊的规则用以确定script元素中的哪些内容可以被解析,但这些规则在XHTML中不适用。因为小于号(<)在XHTML中将被当作开始一个新标签来解析。但是作为标签,小于号后面不能跟空格,因此导致语法错误。
解决方法有两个:一、用相应的HTML实体(<)替换代码中所有的小于号(<);二、使用一个CData片段来包含JavaScript代码。
方法一相应代码:
<script type="text/javascript"> function compare(a, b) { if(a < b) { alert("a is less then b"); } else if(a > b) { alert("a is greater then b"); } else { alert("a is equal to b"); } } </script>
方法二相应代码:
<script type="text/javascript"><![CDATA[ function compare(a, b) { if(a < b) { alert("a is less then b"); } else if(a > b) { alert("a is greater then b"); } else { alert("a is equal to b"); } } ]]></script>
方法一虽然可以让代码在XHTML中正常运行,但却导致代码不好理解了;而方法二在兼容XHTML的浏览器中可以解决问题。但不少浏览器并不兼容XHTML,因而不支持CData片段。所以再使用JavaScript注释将CData标记注释掉。
相应代码:
<script type="text/javascript"> //<![CDATA[ function compare(a, b) { if(a < b) { alert("a is less then b"); } else if(a > b) { alert("a is greater then b"); } else { alert("a is equal to b"); } } //]]> </script>
这种格式在所有现代浏览器中都可以正常使用。
阅读全文
0 0
- JavaScript在XHTML中的用法
- JavaScript在XHTML中的用法
- JavaScript 笔记 - 在XHTML中的用法
- JavaScript在XHTML的用法
- xpath在XHTML解析中的应用
- 在XHTML文档中合适的使用CSS和JavaScript
- 在XHTML文档中合适的使用CSS和JavaScript
- 如何正确地在XHTML文档中使用JavaScript和CSS
- 在XHTML文档中合适的使用CSS和JavaScript
- xhtml与javascript兼容问题
- Javascript 中的 with 用法
- JavaScript中的setInterval用法
- JavaScript中的setInterval用法
- JavaScript中的setInterval用法
- JavaScript中的this用法
- javascript 中的with用法
- javascript中的this用法
- JSON javaScript中的用法
- 三年时光或许被学校糟蹋了
- 队花的烦恼一
- Windows下用命令行导出导入MySQL数据库
- 云星数据---Apache Flink实战系列(精品版)】:Flink流处理API详解与编程实战006-DataStream与MySql自定义sink和source(Scala版)001
- 网络请求
- JavaScript在XHTML中的用法
- linux(centos7) 用户和组
- 飞洒
- 2017年第31届中原医疗器械(春季)展示会会刊(参展商名录)
- 变量的自动初始化
- 国王的魔镜
- java mail邮箱验证
- 巧用Qt 设计师(Designer)提高工作效率之切换设计师控件显示模式
- 云星数据---Apache Flink实战系列(精品版)】:Flink流处理API详解与编程实战007-DataStream与MySql自定义sink和source(Scala版)002