Каков предпочтительный способ создания объекта jQuery с атрибутами? - PullRequest
5 голосов
/ 17 мая 2011

При создании объектов jQuery в последнее время я использовал следующий синтаксис, как описано здесь :

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

Safari 5.0.5 выдает синтаксическую ошибку в точке, где я используюнад конструкцией.

Удаление второго аргумента и добавление классов с помощью addClass устраняет ошибку, но выглядит довольно нелегко.

Как вы создаете свои объекты?Я также пытался использовать attr ({class: 'class-1'}), но получил ту же синтаксическую ошибку.

Ответы [ 4 ]

7 голосов
/ 17 мая 2011

Вы не можете использовать class; это зарезервированное слово.

Используйте className вместо:

var $el = $('<div/>', {
   className: 'class-1 class-2'
});
3 голосов
/ 17 мая 2011

Сделать имя атрибута строкой:

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

Пример JSFiddle

1 голос
/ 17 мая 2011

Вы получаете ошибку, поскольку class является зарезервированным ключевым словом.Вы можете использовать строку в качестве идентификатора, если имя свойства является зарезервированным ключевым словом:

var $el = $('<div/>', {
   'class': 'class-1 class-2'
});
1 голос
/ 17 мая 2011

Поскольку class является зарезервированным словом, его необходимо заключить в кавычки.

var $el = $('<div/>', {
   "class": 'class-1 class-2'
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...