Jquery - неопределенная строковая константа - PullRequest
1 голос
/ 16 сентября 2009

У меня есть страница с jquery. Он отлично работает в Firefox, Chrome и т. Д., Но если я загружаю его в IE, ни одна из функций Jquery не запускается, а отладчик сценариев IE показывает:


Error

Произошла ошибка во время выполнения. Вы хотите отладить?

Линия: 269

Ошибка: неопределенная строковая константа

Да Нет

Строка, о которой идет речь, находится в моем (неизмененном) jquery.js, который вызывает ошибку:

style.left = ret || 0;

Это также показывает:


Error

Произошла ошибка во время выполнения. Вы хотите отладить?

Линия: 835

Ошибка: неверный аргумент.

Да Нет

С соответствующей строкой:

ret = style.pixelLeft + "px";

Есть идеи?

EDIT:

Кажется, я искал не в том месте для ошибки. Если я возьму это, оно работает:

    $(".middlebox").children("p").hide();
    $(".middlebox").addClass("middlebox_closed", "fast");

Ответы [ 2 ]

4 голосов
/ 16 сентября 2009

Ошибка не обязательно в коде jQuery, но значение аргумента передается в качестве параметра в функцию в jQuery , т.е. на шаге ранее.

EDIT:

Эта строка неверна

$(".middlebox").addClass("middlebox_closed", "fast");

addClass() не принимает 2 аргумента, только один является строкой для класса, который вы хотите добавить. Измените его на

$(".middlebox").addClass("middlebox_closed");

и это будет работать. Или, может быть, вы хотите добавить 2 класса, и в этом случае это тоже будет работать

$(".middlebox").addClass("middlebox_closed").addClass("fast");
// or this for brevity
$(".middlebox").addClass("middlebox_closed fast");
0 голосов
/ 16 сентября 2009
  1. (возможно) Попробуйте использовать style.left вместо pixelLeft Также убедитесь, что стиль инициализирован правильно.
  2. Чего вы пытаетесь достичь этой линией? style.left = ret || 0; Возможно, вы хотели что-то вроде style.left = parseInt (ret)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...