我正在尝试调试另一个开发人员的代码,但我一生都无法弄清楚这个变量中存储了什么:
var dl = $("<dl>",{class: 'my_class'});
此行在 IE8 及更低版本中生成“预期的标识符、字符串或数字”错误消息,但没有其他浏览器,我试图弄清楚是否有其他方法可以用不同的语法完成同样的事情.
任何意见,将不胜感激。
我正在尝试调试另一个开发人员的代码,但我一生都无法弄清楚这个变量中存储了什么:
var dl = $("<dl>",{class: 'my_class'});
此行在 IE8 及更低版本中生成“预期的标识符、字符串或数字”错误消息,但没有其他浏览器,我试图弄清楚是否有其他方法可以用不同的语法完成同样的事情.
任何意见,将不胜感激。
它正在创建一个dl
元素(包装在一个 jQuery 对象中),其class
属性值为my_class
. 有关此函数形式的更多信息,请参阅jQuery 文档。
您收到错误是因为class
它是 JavaScript 中的保留字。您可以通过引用它来修复它:
var dl = $("<dl>", { "class": "my_class" });
或者,您可以className
改为设置属性(您不必在任何浏览器中引用):
var dl = $("<dl>", { className: "my_class" });
请注意,ES5 规范说您可以使用保留字作为属性名称。但是由于您显然需要支持旧版本的 IE,因此您将不得不忘记这一点并引用它们。如果您只是放弃对低于版本 9 的 IE 的支持,则根本不必更改代码;)
class
是 JavaScript 中的保留字,你应该用引号括起来:
var dl = $("<dl/>",{'class': 'my_class'});