该错误是因为JavaScript在IE下和Firefox下不兼容的结果。对于JavaScript来说,如果存在属性列表的形式,在firefox下,最后一个属性后面的“,”可有可无,而在IE下,不能有这个逗号,否则就会报某行”缺少标识符、字符串或数字“的错误。
解决办法: 根据IE的错误提示,查看源代码,找到对应的行,修改源代码,将该行中的js属性列表的最后一个属性后面的逗号去掉即可。
可怎么我也没找到逗号啊,于是将所有的“;”号给去掉了,问题还是没有解决。突然灵机一现,貌似我定义的函数有问题?果然,在对代码大动干戈之后,发现了元凶。我把class类直接用class来定义了,晕死。
var class = ""
$(body).append('<div class="'+class+'">文字</div>')
当时写的时候心里就嘀咕,可发现他没有变色,于是乎便没太在意,况且Firefox下完全察觉不到任何问题。哎,我说IE你在么就这么犟呢?是Firefox粗心了还是你太认真了呀!
应gavin的疑问,过来补充一下。我的这个实例中出现“缺少标识符”的原因就是使用了保留名称,如 class 。解决办法就是避免直接使用JS的保留字符,JQuery里可以习惯性的加上个$就没问题啦。代码如下:
var classes = ""
var $class = ""
最后再补充一下JavaScript的保留字,其中就有我傻乎乎用到的 class:
abstract
boolean break byte
case catch char class const continue
default do double
else extends
false final finally float for function
goto
if implements import in instanceof int interface
long
native new null
package private protected public
return
short static super switch synchronized
this throw throws transient true try
var void
while with








已有人对此文发表了评论