2009-06-01 12 views
5

AJAX के माध्यम से एक आंतरिक div (#book_table) लोड करने के बाद, मैं बड़ी सामग्री को समायोजित करने के लिए शरीर की चौड़ाई का आकार बदलना चाहता हूं।IE में jQuery .width (val) त्रुटि - अमान्य तर्क

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

एफएफ और सफारी में काम करता है, लेकिन "अवैध तर्क" के साथ आईई में विफल रहता है। पैक jQuery 1.3.1 में, यह लाइन 1049 है:

elem[ name ] = value; 

एक शाब्दिक मूल्य पासिंग, हालांकि, IE में काम करता है:

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

उत्तर

10

आप प्रयास करना चाहिए:

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

css('width') का उपयोग करना बस एक संख्या के बजाय 'पीएक्स' एक्सटेंशन के साथ एक स्ट्रिंग लौट रहा है। फ़ायरफ़ॉक्स parseInt के साथ "100px" को उचित रूप से पार्स कर सकता है, लेकिन ऐसा लगता है कि आईई नहीं करता है।

width() का उपयोग केवल एक पूर्णांक लौटाएगा, जो parseInt पर कॉल करने की आवश्यकता को भी हटा देगा।

संबंधित मुद्दे