5


0

ajax経由で内部div(#book_table)をロードした後、私はより大きなコンテンツに対応するためにボディの幅をリサイズしたいと思います。

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 Answer


10


試してみてください:

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

`+ css( 'width')`を使用すると、単なる数字ではなく、 'px'拡張子を持つ文字列が返されます。 Firefoxは、 ` parseInt `で `" 100px "`を正しく解析して ` 100 +`にすることができますが、IEはそうではないようです。

`+ width()`を使用すると整数が返されるだけで、 ` parseInt +`を呼び出す必要もなくなります。