当我点击一个元素时,添加另一个ID或类

时间:2013-10-08 15:26:44

标签: javascript jquery html class click

我有这部分代码:

$("ul.rightside").prepend('<div id="nav_background">Colors</div>');
    $(".minwidth_IE").prepend('<div id="toggle_background" style="display: none;"><div id="custom_background"><span id="bg0"></span><span id="bg1"></span><span id="bg2"></span><span id="bg3"></span><span id="bg4"></span><span id="bg5"></span><span id="bg7"></span><span id="bg8"></span></div></div>');
    $("#custom_background span").click(function () {
        $("#account ,.minwidth_IE ,.main .main-head ,#fa_toolbar").removeClass("bg1 bg2 bg3 bg4 bg5 bg7 bg8 bg_custom").addClass($(this).attr("id"));
        my_setcookie("custom_background", $(this).attr("id"), true)
    });

但我希望当我点击其他元素..比如... #tbar,我想要另一个类,而不是.bg1 2等等像bg12 ..或者......我不知道! 好吧:当我点击#bg3时,我的元素将拥有类.bg3!我想要一个像这样的函数..当我点击#bg3我的元素将有.bg31,当我点击#bg4我的元素将有.bg4 ..!这是一个主题转换器..

1 个答案:

答案 0 :(得分:0)

尝试.on()

由于您的内容是动态添加的,因此无法直接访问,因此您必须使用Event delegation

$(".minwidth_IE").on("click","#custom_background span",function () {
        $("#account ,.minwidth_IE ,.main .main-head ,#fa_toolbar").removeClass("bg1 bg2 bg3 bg4 bg5 bg7 bg8 bg_custom").addClass(this.id);
        my_setcookie("custom_background", this.id, true)
    });