gpt4 book ai didi

jQuery .toggle() 不适用于 IE 中的 TRs

转载 作者:行者123 更新时间:2023-12-04 10:39:35 25 4
gpt4 key购买 nike

我正在使用 jQuery 的 toggle() 来显示/隐藏表格行。它在 FireFox 中运行良好,但在 IE 8 中不起作用。
.show()/.hide()虽然工作正常。

slideToggle()在 IE 中也不起作用 - 它显示一秒钟然后再次消失。在 Firefox 中工作正常。

我的 HTML 看起来与此类似

<a id="readOnlyRowsToggle">Click</a>  
<table>
<tr><td>row</td></tr>
<tr><td>row</td></tr>
<tr class="readOnlyRow"><td>row</td></tr>
<tr class="readOnlyRow"><td>row</td></tr>
<tr class="readOnlyRow"><td>row</td></tr>
</table>

JavaScript
$(document).ready(function() {  
$(".readOnlyRow").hide();
$("#readOnlyRowsToggle").click(function() {
$(".readOnlyRow").toggle();
});
});

最佳答案

我在表中的 tr 上遇到了同样的错误。我使用 IE8 的脚本调试工具做了一些调查。

首先我尝试使用切换:

$(classname).toggle();

这适用于 FF 但不适用于 IE8。

然后我尝试了这个:
if($(classname).is(":visible"))//IE8 always evaluates to true.
$(classname).hide();
else
$(classname).show();

当我调试这段代码时,jquery 一直认为它是可见的。所以它会关闭它,但它永远不会打开它。

然后我把它改成了这样:
var elem = $(classname)[0];
if(elem.style.display == 'none')
$(classname).show();
else
{
$(classname).hide();
}

那工作得很好。 jQuery 有 a bug或者我的 html 有点乱。无论哪种方式,这都解决了我的问题。

关于jQuery .toggle() 不适用于 IE 中的 TRs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1104672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com