2009-06-01 13 views
5

Dopo aver caricato un div interno (#book_table) tramite ajax, voglio ridimensionare la larghezza del corpo per adattarlo al contenuto più grande.Errore jQuery .width (val) in IE - argomento non valido

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

Funziona in FF e Safari, ma non riesce in IE con "Argomento non valido". Nel scompattato jQuery 1.3.1, è la linea 1049:

elem[ name ] = value; 

Passando un valore letterale, tuttavia, funziona in IE:

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

risposta

10

si dovrebbe provare:

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

Utilizzando css('width') sta restituendo una stringa con l'estensione 'px' piuttosto che semplicemente un numero. Firefox può analizzare correttamente "100px" per essere 100 con parseInt, ma sembra che IE no.

L'utilizzo di width() restituirà solo un numero intero, che elimina anche la necessità di chiamare parseInt.

Problemi correlati