jQuery .width (val) ошибка в IE - неверный аргумент - PullRequest
5 голосов
/ 01 июня 2009

После загрузки внутреннего div (#book_table) через ajax я хочу изменить ширину тела, чтобы вместить больший контент.

var new_width = parseInt($('#book_table').css('width'))+407;
$('body').width(new_width);

Работает в FF и Safari, но не работает в IE с «Недопустимым аргументом». В распакованном jQuery 1.3.1 это строка 1049:

elem[ name ] = value;

Передача литерального значения, однако, работает в IE:

$('body').width(1200);

1 Ответ

10 голосов
/ 01 июня 2009

Вы должны попробовать:

var new_width = $('#book_table').width() + 407;
$('body').width(new_width);

Использование css('width') возвращает строку с расширением 'px', а не просто число. Firefox может правильно проанализировать "100px" как 100 с parseInt, но похоже, что IE этого не делает.

Использование width() просто вернет целое число, что также устраняет необходимость вызова parseInt.

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