免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1596 | 回复: 4
打印 上一主题 下一主题

浏览器对代码要求的严格性 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-17 22:38 |只看该作者 |倒序浏览
写了一段js里面有这样的一句话:

  1. $('<div\>',{
  2.             class:'markResult',
  3.             id:'markResult'+i,
  4.                 }).appendTo('#hello');
复制代码
因为还未对其css进行设计,只是为了调试js通过。页面在firefox和chrome上面
都可以正常打开,无任何的报错,而且js的执行也完全正常。但是当我将使用ie
打开的时候却总是报错。查过来查过去原来是上面代码中的class和js关键字class
重复了。而jquey给其定义的名字是className。所以只需要将上面的代码修改成如下

  1. $('<div\>',{
  2.             className:'markResult',
  3.             id:'markResult'+i,
  4.                 }).appendTo('#hello');
复制代码
在ie下面便可以正常打开和执行了。
由此看来ie对于代码检查似乎要更加的严格一些,而chrome和firefox就要宽松一些了。

论坛徽章:
0
2 [报告]
发表于 2012-07-18 14:34 |只看该作者
1. 你确认firefox没有报错?你用console或者firebug察看了麻?
2 className属性名字,你改为class,还能正常工作吗?

论坛徽章:
0
3 [报告]
发表于 2012-07-18 17:02 |只看该作者
回复 2# imbiss


    最开始测试的时候就是用firefox进行测试的,console error里面没有错误。因为执行的时候一直开着console 找错误的。

论坛徽章:
0
4 [报告]
发表于 2012-07-18 19:16 |只看该作者
估计因为你还没有加上样式,所以 className 被改成 class 也看不出来。

我看了一下js 的保留字。http://www.blabla.cn/js_tutorials/090_js_reserved_words.html classs属于未来保留字,所以可以解释浏览器的实现有所不同。 


另外这个输入纯前台的问题,其他板块因该更合适。

论坛徽章:
0
5 [报告]
发表于 2012-07-19 10:20 |只看该作者
回复 4# imbiss
当时我也是这么判断,可能因css的没有写所以在chrome和firefox上看不出来,class的确是js的关键字。
发到这个版块,主要是想在这儿分享一下这个发现,因为我的活动主要版块儿是这儿。另外就是现在国内的php和前端基本都是同一个人或是
一个团队。

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP