после обновления jQuery необработанное исключение: синтаксическая ошибка, нераспознанное выражение: h3 - PullRequest
1 голос
/ 08 сентября 2010

Я работаю над новой версией веб-сайта и сейчас нахожу проблему с моим кодом JavaScript, которая не обрабатывается должным образом.

В прошлом я занимался

$('#lb_outer_title :h3').html(title); 

, который изменил текст атрибута заголовка для моего лайтбокса.Это хорошо работало в jQuery 1.3.2, но в новой версии (которая использует jQuery 1.4.2) я получаю сообщение об ошибке:

uncaught exception: Syntax error, unrecognized expression: Syntax error, unrecognized expression: h3

В новой версии я могу изменить код на следующий иэто работает, но это не может быть оптимальным решением:

$('#lb_outer_title').html('<h3>'+ title + '</h3>');

Я пробовал использовать: первый селектор в моей новой версии, но это также не работает должным образом.

Вот HTML-код, с которым я работаю (примечание: я не могу добавить класс или идентификатор к тегу h3):

 <div id="lb_outer_title">
   <h3>Title</h3>
  </div>

Ответы [ 3 ]

4 голосов
/ 08 сентября 2010

Ваша ошибка здесь:

$('#lb_outer_title :h3').html(title); 

Это двоеточие перед h3 должно быть отброшено. В jQuery 1.4 есть более строгий механизм выбора, и поэтому он сообщает о вашей ошибке (поскольку вы используете префикс псевдокласса в элементе выбора), в то время как jQuery 1.3 просто тихо анализирует двоеточие.

3 голосов
/ 08 сентября 2010
$('#lb_outer_title h3').html(title); 

Не уверен, что там делал этот двоеточие ... Это недопустимый селектор. : используется для псевдо-классов, но вы просто хотите элемент.

2 голосов
/ 08 сентября 2010

Просто удалите : следующим образом:

$('#lb_outer_title h3').html(title); 

Префикс двоеточия, :, используется для различных псевдоселекторов , вы просто хотите h3, селектор элементов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...