有人可以看看下面的小測試案例,並告訴我爲什麼div(.hide)在IE7和IE6中永遠不可見。jQuery懸停,顯示和可見性CSS在IE7和IE6中未正確應用
(注:我知道,jQuery的隱藏()&顯示()可以使用的方法,但我更願意使用基於CSS的解決方案,它依賴於類,而不是jQuery的寫作內嵌樣式的DOM)。
<html>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$(function() {
$("table tr").hover(function() {
$(this).addClass("hover");
}, function() {
$(this).removeClass("hover");
});
});
});
</script>
<style type="text/css">
.hide {
visibility: hidden;
display: block;
width: 16px;
height: 16px;
background-color: #f00;
}
.hover .hide {
visibility: visible;
}
</style>
<table style="border-collapse:collapse;">
<tr>
<th class="ident" scope="col">Col1</th>
<th class="fname" scope="col">Col2</th>
<th class="lname" scope="col">Col3</th>
</tr>
<tr>
<td>Content</td>
<td>Content</td>
<td><div class="hide"></div></td>
</tr>
<tr>
<td>Content</td>
<td>Content</td>
<td><div class="hide"></div></td>
</tr>
<tr>
<td>Content</td>
<td>Content</td>
<td><div class="hide"></div></td>
</tr>
<tr>
<td>Content</td>
<td>Content</td>
<td><div class="hide"></div></td>
</tr>
</table>
</body>
</html>
這對我的作品在IE7-9,鉻:http://jsfiddle.net/HEkqq/(我沒有改變任何東西) – 2011-04-13 14:45:13
爲什麼你想支持一個垂死的東西? – 2011-04-13 14:51:37
現在來吧,IE6可能會快死了,但是7仍然在這裏。 – x10 2011-04-13 14:52:08