jQuery toggleClass IE8 不工作

发布于 2024-11-03 21:40:30 字数 793 浏览 4 评论 0原文

我正在创建一个插件来替换复选框,它在除 IE8 之外的每个浏览器上都运行良好(我不关心 IE7 或 IE6)

当我使用 设置复选框 selected 属性时,问题就出现了切换类()
这是一个错误吗?

http://jsfiddle.net/amSdM/36/

代码: $.fn.replaceCheckbox = 函数() {

    this.each(function(){

        if ($(this).val() !== '') { 
            $(this).attr('value', $(this).parent().text());
        }

        var checkbox = $(this);

            checkbox
                .hide()
                .removeAttr('checked')
                .before('<span>&nbsp;</span>')
                .click(function(){
                    $(this).prev('span').toggleClass('selected', checkbox.is(':checked'));
                });
        });
};

I'm creating a plugin to replace checkboxes and it's working great on every browser but IE8 (I don't care about IE7 or IE6)

The problems becomes when I set the checkbox selected attribute with toggleClass().
Is this a bug?

http://jsfiddle.net/amSdM/36/

Code:
$.fn.replaceCheckbox = function() {

    this.each(function(){

        if ($(this).val() !== '') { 
            $(this).attr('value', $(this).parent().text());
        }

        var checkbox = $(this);

            checkbox
                .hide()
                .removeAttr('checked')
                .before('<span> </span>')
                .click(function(){
                    $(this).prev('span').toggleClass('selected', checkbox.is(':checked'));
                });
        });
};

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

本宫微胖 2024-11-10 21:40:30

替换

 $(this).attr('checked', true);

 $(this).attr('checked', 'checked');

应该这样做:)

Replace

 $(this).attr('checked', true);

With

 $(this).attr('checked', 'checked');

Should do it :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文