解释这个jQuery选择器?

use*_*281 6 jquery internet-explorer

我正在尝试调试另一个开发人员代码,我不能为我的生活找出存储在这个变量中的内容:

var dl = $("<dl>",{class: 'my_class'});
Run Code Online (Sandbox Code Playgroud)

此行在IE8及更低版本中生成"预期的标识符,字符串或数字"错误消息,但没有其他浏览器,我正在尝试弄清楚是否有其他方式我可以使用不同的语法完成相同的操作.

任何意见,将不胜感激.

Jam*_*ice 8

它创建了一个dl元素(包装在jQuery对象中),其class属性值为my_class.有关此函数形式的更多信息,请参阅jQuery文档.

您收到错误,因为它class是JavaScript中的保留字.您可以通过引用来修复它:

var dl = $("<dl>", { "class": "my_class" });
Run Code Online (Sandbox Code Playgroud)

或者,您可以设置className属性(您不必在任何浏览器中引用):

var dl = $("<dl>", { className: "my_class" });
Run Code Online (Sandbox Code Playgroud)

请注意,ES5规范说您可以使用保留字作为属性名称.但是,由于你显然需要支持旧版本的IE,你将不得不忘记它并引用它们.如果您只是放弃对版本9以下的IE的支持,则根本不需要更改代码;)