gpt4 book ai didi

jQuery .toggle() 无法在 IE 中使用 TR

转载 作者:技术小花猫 更新时间:2023-10-29 11:49:47 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 中使用 TR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/975153/

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