使用属性创建jQuery对象的首选方法是什么?

时间:2011-05-17 12:56:22

标签: javascript jquery attributes

创建jQuery对象时,我最近使用了以下语法,如here所述:

var $el = $('<div/>', {
   class: 'class-1 class-2'
});

Safari 5.0.5在我使用上述结构时出现语法错误。

删除第二个参数并使用addClass添加类会删除错误,但似乎相当不优雅。

如何创建对象?我尝试使用attr({class:'class-1'}),但收到了相同的语法错误。

4 个答案:

答案 0 :(得分:7)

您无法使用class;它是一个保留字。

改为使用className

var $el = $('<div/>', {
   className: 'class-1 class-2'
});

答案 1 :(得分:3)

将属性名称设为字符串:

var $el = $('<div/>', {
    'class': 'class-1 class-2'
});

JSFiddle Example

答案 2 :(得分:1)

由于class是保留字,因此您需要将其放在引号中。

var $el = $('<div/>', {
   "class": 'class-1 class-2'
});

答案 3 :(得分:1)

您收到错误,因为class是保留关键字。当属性名称是保留关键字时,您可以使用字符串作为标识符:

var $el = $('<div/>', {
   'class': 'class-1 class-2'
});