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'
});
精彩评论