gpt4 book ai didi

javascript - JavaScript 中的奇怪行为

转载 作者:行者123 更新时间:2023-11-28 02:50:43 25 4
gpt4 key购买 nike

我有 2 个元素 - “span”(名为“divLikedX”)和“a”(名为“aLikeX”)。我有以下 JavaScript(点击“a”时发生):

    function CommentLike(CommentID, aLink) {
if (CommentID != null && CommentID > 0)
$.post("/Home/LikeComment", { CommentID: CommentID },
function () {
//alert($("#divLiked" + CommentID).is(':visible'));
/*alert($(aLink).text());*/if ($("#divLiked" + CommentID).is(':hidden')) {
$("#divLiked" + CommentID).show();
$("#aLike" + CommentID).text('Unlike');
} else {
$("#divLiked" + CommentID).hide();
$("#aLike" + CommentID).text('Like');
}
});
};

如果我删除 $("#aLike"+ CommentID).text('Unlike');$("#aLike"+ CommentID).text('Like') ; strings 我得到了正确的行为。但对于这些字符串,只有前两次点击才能正常工作,之后总是 alert($("#divLiked"+ CommentID).is(':visible')) == "true" 。为什么?

最佳答案

您似乎不是唯一遇到此问题的人:cf http://forum.jquery.com/topic/hidden-visible-broken-in-ie8

当 display:none 元素附近有可见元素时,问题似乎会出现在 IE8 中。这似乎欺骗了检测 :visible 的 jquery 算法。

我可以建议您使用类而不是 :visible 和 :hidden 进行测试:

if ($("#divLiked" + CommentID).hasClass('like')) {
$("#divLiked" + CommentID).removeClass('like').show();
$("#aLike" + CommentID).text('Unlike');
} else {
$("#divLiked" + CommentID).addClass('like').show();
$("#aLike" + CommentID).text('Like');
}

希望这对你有帮助

杰罗姆·瓦格纳

关于javascript - JavaScript 中的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3817368/

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