开发者

What's the preferred way to create a jQuery object with attributes?

When creating jQuery objects I've used the following syntax lately, as described here:

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

Safari 5.0.5 gives a syntax error at the point where I use the above construction.

Removing the second argument and adding classes with addClass removes the error, but seems rather unelegant.

How do you create your objects? I tried wi开发者_如何学编程th attr({class: 'class-1'}), as well, but received the same syntax error.


You can't use class; it's a reserved word.

Use className instead:

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


Make the attribute name a string:

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

JSFiddle Example


Since class is a reserved word, you need to put it in quotes.

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


You get an error as class is a reserved keyword. You can use a string as identifier when a property name is a reserved keyword:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜