2013-12-05 3 views
1

При создании динамических элементов в jQuery 1.7.2 я обнаружил, что этот код отлично работает в Safari, Chrome, Firefox и IE9/10. Однако, в IE7/8 этот код дает следующее сообщение об ошибке:Ошибка динамического элемента jQuery в IE7/8

SCRIPT1028: Expected identifier, string or number

Вот элемент кода создания:

$("<span></span>", { 
    text: "Please Specify: ", 
    class: $(this).attr("id")+"other" <-- error points here 
}); 

Почему объявить класс, вызывающий эту проблему?

ответ

4

Поскольку в ECMAScript3 (текущая поддерживаемая версия - ES5), «класс» является зарезервированным словом, вы должны добавить котировки вокруг имени свойства class, чтобы он соответствовал требованиям IE7/8. Добавление кавычек устраняет проблему, и код теперь работает в каждом браузере, который я тестировал.

$("<span></span>", { 
    text: "Please Specify: ", 
    'class': $(this).attr("id")+"other" 
}); 
+0

, пожалуйста, подробно остановитесь на downvote ?! Если это из-за дублирования, сообщите нам –

+0

http://stackoverflow.com/a/14702524/1414562 –

+1

Я бы сохранил его для google, так как в нем больше ключевых слов. –

Смежные вопросы