gpt4 book ai didi

javascript - jQuery 代码在 Firefox 中有效,但在 IE 中失败

转载 作者:行者123 更新时间:2023-11-28 20:56:46 24 4
gpt4 key购买 nike

我有一个似乎无法识别的问题,代码在 Firefox 和 Chrome 中运行良好,但在 IE 中失败。

我有以下元素的序列:

<tbody id="tbod161-1__" isloaded="true" style="display: none;"></tbody>
<tbody id="tbod162-2__" isloaded="true"></tbody>

我正在尝试创建一个 jQuery cookie,它存储元素是否可见。

function RememberClickedState() {
$('.ms-listviewtable tbody[id^="tbod"]').each(function(){
tid = $(this).attr('id');
var tvisible = ($(this).attr('style') == undefined || $(this).attr('style').indexOf('display: none;') == -1);
var strVisible;
if( tvisible == true)
{
strVisible = "true";
}
if( tvisible == false)
{
strVisible = "false";
}
items += tid+':'+strVisible+';'
})
$.cookie("itemListState", items);
}

当我检索值时:

string = $.cookie("itemListState");
alert(string);

...所有 ID 在 IE 中都设置为“true”,这意味着 cookie 中的值写入不正确。然而,当在 Ff/Chrome 中运行时,此代码可以完美运行,其中某些 ID 被正确设置为 false。

我错过了什么?谢谢,

最佳答案

更改:

var tvisible = ($(this).attr('style') == undefined || $(this).attr('style').indexOf('display: none;') == -1);

进入:

var tvisible = $(this).is(':visible');

我对你的代码做了一些改进:

function RememberClickedState() {
$('.ms-listviewtable tbody[id^="tbod"]').each(function(){
var tvisible = $(this).is(':visible');
items += $(this).attr('id')+':'+String(tvisible);
});
$.cookie("itemListState", items.join('; '));
}

关于javascript - jQuery 代码在 Firefox 中有效,但在 IE 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11923725/

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