2011-12-15 2 views
0

Я столкнулся с проблемой сегодня, когда я воспользуюсь исправлением в нашем проекте.h2 outerWidth в IE 7 короче IE 8

Что я нашел, так это то, что внешняя ширина для h2 в IE 7 короче, чем в IE8 (FF, Chrome и т. Д.).

Вот мой код:

var h2width = $('.test h2').outerWidth(true) 

h2width является 135px в IE8 и 78px в IE7.

У вас есть идеи для этого?

Заранее благодарен!

Edit:

Для предотвращения этой проблемы, я добавил код для differenciate браузеров.

if ($.browser.msie && $.browser.version.substr(0, 1) <= 7) { 
var h2width = $('.test h2').outerWidth(true) + 57; 
} else { 
var h2width = $('.test h2').outerWidth(true); 
} 
+0

Какой DOCTYPE вы используете? Это то же самое для всех браузеров, или они используют свой DOCTYPE по умолчанию? Это объясняет, почему IE7 ведет себя по-разному. – Stefan

ответ

0

Браузеры визуализируют HTML по-разному, так что это не так странно. Используйте Firebug или другое средство разработки, чтобы просмотреть фактический размер тега h2. Они, скорее всего, разные.

Также обратите внимание, что ваш селектор $('.test h2') возвращает коллекцию согласованных элементов.

+1

Да, но в моем случае есть только один h2 –

+0

Тем не менее, селектор возвращает массив или элементы, поэтому используйте '$ ('. Test h2'). First()' или '$ ('. Test h2') [0 ] 'для доступа к первому совпадающему элементу. – Stefan

+0

Я укажу h2, спасибо. –