2011-12-15 5 views
0

오늘 프로젝트에서 수정을 수행 할 때 문제가 발생했습니다.IE 7의 h2 outerWidth가 IE 8보다 짧습니다.

IE7에서 h2의 outerWidth가 IE8 (FF, Chrome 등)보다 짧다는 것을 알게되었습니다.

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

h2width는 IE8에서 135px와 IE7에서 78px입니다 :

여기 내 코드입니다.

아이디어가 있으십니까?

미리 감사드립니다.

편집 :이 문제를 방지

를 들어, 내가 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을 다르게 렌더링하므로 이상하지 않습니다. 방화범이나 다른 개발 도구를 사용하여 h2 태그의 실제 크기를 봅니다. 그들은 서로 다른 가능성이 큽니다.

또한 선택기 $('.test h2')은 일치하는 요소의 모음을 반환합니다.

+1

네,하지만 내 경우에는 하나의 h2 만 존재합니다 –

+0

여전히 셀렉터는 배열이나 요소를 반환하므로'$ ('. test h2'). first()'또는'$ ('. test h2') [0 ]'를 사용하여 첫 번째로 일치하는 요소에 액세스합니다. – Stefan

+0

나는 h2를 지정하겠습니다. 고마워요. –