1
jQuery的:visible選擇似乎並沒有在包括已經被隱藏的hide()紅素的意義在Internet Explorer 8 TR元素的工作。下面是測試情況:爲什麼jQuery的:可見選擇包括對IE8隱藏的TR?
<html>
<head>
<script language="JavaScript" src="jquery-1.3.2.min.js"></script>
<script language="JavaScript">
$(document).ready(function() {
$('#trb').hide();
$('#trcount').html($('tr:visible').length);
$('#pb').hide();
$('#pcount').html($('p.item:visible').length);
});
</script>
</head>
<body>
<table>
<tr><td>A</td></tr>
<tr id="trb"><td>B</td></tr>
<tr><td>C</td></tr>
</table>
<p><span id="trcount">?</span> rows are visible.</p>
<p>Using paragraphs:</p>
<p class="item">A</p>
<p class="item" id="pb">B</p>
<p class="item">C</p>
<p><span id="pcount">?</span> paragraphs are visible.</p>
</body>
</html>
在Chrome,它會導致「2行是可見的」和「2段是可見的,」如預期。但是,在Internet Explorer 8上,結果是「3行可見」和「2段」可見。
爲什麼?什麼是最好的解決方法? (當我隱藏一件物品時,我可以想象它會添加一個CSS類。)
我不能再現這個:我的jsFiddle inf IE8 ==> http://jsfiddle.net/Cc3eM/ ----------我的截圖==> http://i.imgur.com/ 1xYYW.png – 2010-09-20 21:00:17
@Peter Ajtai - 操作是使用1.3.2 - 雖然我仍然不能再現 – redsquare 2010-09-20 21:03:42
我爲此創建了一個jsfiddle:http://jsfiddle.net/eAMsP/你是對的IE8返回不同的長度。 – scunliffe 2010-09-20 21:05:50