0

我有一个名为 colors 的函数附加到一个名为 .viewShow 的 div 上。我想要做的是从元素中删除函数而不是删除元素。我似乎找不到任何东西。有人可以为我指出如何从.viewShow中删除颜色功能的正确方向吗?

if ($.showRestart == 'no') {
    $('.viewShow').colors();
    $.showRestart = 'yes';
} else {
    $('.viewShow');  // I want to remove colors ? ? ? ? ? ? ? ;
    $.showRestart = 'no';
}

我需要添加一些信息以使图片更清晰。我有五个名为 .panels 的 div,它们都是 .viewShow 的子级。我一直在练习的是在颜色 obj 中使用扩展功能(我相信)。我正在让 .panels 更改颜色,据我所知,我正在合并下面的两个对象并且它可以工作。我需要了解的是,一旦功能完成,如果我再次单击它就可以工作,我希望 .colors() 被销毁。css 颜色只是我添加其他功能的测试。

     $(function(b){
            b.fn.extend({
                colors:function(d){
                    d=b.extend({                          
                        panelClass:".panel"
                    },d);
                    return this.each(function(){
                        var a=d;
                        b(this);
                        $(a.panelClass).css("background-color","red");
                    })
                }
            })
        });
4

3 回答 3

2

使用 jquery 中的 unbind 函数,在类的基础上删除函数。例如:$('.classname').unbind('functionName')

于 2013-05-17T04:18:31.863 回答
1

这可能比你想要的更多,但如果你真的想把它拆掉然后重建它

小提琴

$newthing = $('.viewShow').clone().wrap('<p>').parent().html();
$('.viewShow').after($newthing).remove();
于 2013-05-17T04:28:50.877 回答
1

试试这个!它会删除 div 中的背景颜色

$('.viewShow').css("background-color","") 

参考这个jquery-color

于 2013-05-17T04:21:14.907 回答