Tested ...并且未应用fadeOut()
:
<table>
<tr class="sideOn hidden">
<td class="trackBotton">
<input type="submit" value="Remove" onClick="remSide(this);return false" />
</td>
</tr>
</table>
function remSide(param) {
$(param).parents('.sideOn').fadeOut(500, function() {
$(this).remove();
});
}
为什么会这样,我该如何解决这个问题?
同时删除remove()
不起作用:
function remSide(param) {
$(param).parents('.sideOn').fadeOut(500);
}
答案 0 :(得分:5)
JQuery使用过滤器在Internet Explorer中执行淡入淡出,而过滤器仅适用于具有布局的元素。
您可以像这样给出表格行布局:
.sideOn { position: absolute; }
然后元素在Internet Explorer中淡出,但不建议更改表格行的position
样式,因此您应该使用其他元素来淡化您想要的内容。
答案 1 :(得分:1)
Guffa对他的回答是正确的 - 所以我想提供另一种选择(IE的解决方法,就是这样):
function remSide(param) {
$(param).parents('.sideOn').find('td').fadeOut(500, function() {
$(this).parent().remove();
});
}
这会淡出所有<td>
,然后删除<tr>
本身。似乎在IE8中工作正常。