在jQuery 1.7.2中创建动态元素时,我发现此代码在Safari,Chrome,Firefox和IE9 / 10中运行良好。但是,在IE7 / 8中,此代码会产生以下错误消息:
SCRIPT1028: Expected identifier, string or number
这是元素创建代码:
$("", { text: "Please Specify: ", class: $(this).attr("id")+"other" <-- error points here });
为什么声明一个类导致此问题?
因为在ECMAScript3(当前支持的版本是ES5)中,“类”是保留字,所以必须在属性名称周围添加引号class
,以使其符合IE7 / 8。添加引号可以解决该问题,并且该代码现在可以在我测试过的每种浏览器中使用。
$("<span></span>", { text: "Please Specify: ", 'class': $(this).attr("id")+"other" });