IE7 / 8中的jQuery动态元素错误

Ste*_*her 0 javascript jquery internet-explorer

在jQuery 1.7.2中创建动态元素时,我发现此代码在Safari,Chrome,Firefox和IE9 / 10中运行良好。但是,在IE7 / 8中,此代码会产生以下错误消息:

SCRIPT1028: Expected identifier, string or number

这是元素创建代码:

$("<span></span>", {
    text: "Please Specify: ",
    class: $(this).attr("id")+"other" <-- error points here
});
Run Code Online (Sandbox Code Playgroud)

为什么声明一个类导致此问题?

Ste*_*her 5

因为在ECMAScript3(当前支持的版本是ES5)中,“类”是保留字,所以必须在属性名称周围添加引号class,以使其符合IE7 / 8。添加引号可以解决该问题,并且该代码现在可以在我测试过的每种浏览器中使用。

$("<span></span>", {
    text: "Please Specify: ",
    'class': $(this).attr("id")+"other"
});
Run Code Online (Sandbox Code Playgroud)