在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
});
为什么声明一个类会导致此问题?
答案 0 :(得分:4)
因为在ECMAScript3中(当前支持的版本是ES5),“class”是保留字,您必须在属性名称class
周围添加引号才能使其符合IE7 / 8标准。添加引号可以解决问题,现在代码可以在我测试的每个浏览器中使用。
$("<span></span>", {
text: "Please Specify: ",
'class': $(this).attr("id")+"other"
});