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

通过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); 

你应该试试:

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

使用css('width')返回一个带有’px’扩展名的字符串,而不仅仅是一个数字。 Firefox可以使用parseInt正确解析"100px"100 ,但看起来IE不会。

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