IE中的jQuery .width(val)错误 - 参数无效

5 jquery internet-explorer

通过ajax加载内部div(#book_table)之后,我想调整主体的宽度以适应更大的内容.

var new_width = parseInt($('#book_table').css('width'))+407;
$('body').width(new_width);
Run Code Online (Sandbox Code Playgroud)

适用于FF和Safari,但在IE中使用"无效参数"失败.在解压缩的jQuery 1.3.1中,它是第1049行:

elem[ name ] = value;
Run Code Online (Sandbox Code Playgroud)

但是,传递文字值可以在IE中使用:

$('body').width(1200);
Run Code Online (Sandbox Code Playgroud)

TM.*_*TM. 10

你应该试试:

var new_width = $('#book_table').width() + 407;
$('body').width(new_width);
Run Code Online (Sandbox Code Playgroud)

使用css('width')返回带有'px'扩展名的字符串而不是简单的数字.火狐可以正确地解析"100px"100parseInt,但它看起来像IE浏览器没有.

使用width()将只返回一个整数,这也消除了调用的需要parseInt.