필자는 테이블의 열 너비를 읽고 다른 테이블에 적용하는 jQuery 코드를 작성했습니다.jQuery.css ('width')가 다른 브라우저에서 다른 값을 반환하는 이유는 무엇입니까?
<table style='table-layout:fixed;'>
<tbody id='myTableBody'>
<tr>
<td style='width:100px;'>foo</td>
<td style='width: 40px;'>bar</td>
</tr>
</tbody>
</table>
내가이 테이블의 CSS를 폭 속성을 읽을 수있는 다음과 같은 jQuery 코드 작성했습니다 : 코드 후
var colWidths = [];
var cells = $('#myTableBody').find('td');
for (i = 0; i < cells.length; i++)
colWidths.push($(cells[i]).css('width'));
을
내 페이지에서,이 같은 표가 실행, 나는 colWidths
가 [100, 40]
이고, FireFox에있을 것으로 기대합니다. 그러나 IE8에서는 [92,32]
입니다. 이것은 올바른 값에 의존하는 IE에서 내 페이지를 깰.
내 테이블이 jQuery-ui-tabs 요소에 포함되어 있고 jQuery-ui css가 이상한 것들을 처리 할 수 있다는 것을 알았 기 때문에 이것이 무언가 있다면 놀랄 일이 아닙니다. 그것과 관련이있다.
jQuery.css ('width')가 IE8에서 예상 한 값을 반환하지 않는 이유는 무엇입니까? 그것에 대해 무엇을 할 수 있습니까?
40에 일관된 가치를 제공은 : http://jsfiddle.net/QhXjS/ –
이 페이지 유효한 HTML 4.01인가 페이지? 아마도 IE8에서 [quirksmode] (http://www.quirksmode.org/css/quirksmode.html)를 실행했을 것입니다. – Zeta
고마워요. @ Rob W. 저는 제 페이지에 무언가가있어서 잘못된 값을 얻게 될 것이라고 내기하고 있습니다. –