代码之家  ›  专栏  ›  技术社区  ›  sam

jquery+css:切换到“加载”

  •  1
  • sam  · 技术社区  · 16 年前

    我有以下设置:

    <div class="click red"></div>
    <div class="click green"></div>
    <div class="click blue"></div>
    

    当单击“click”时,我想将类“load”添加到该分区。我已经管理好了,但是“red”、“green”和“blue”都有一个背景图像集,所以我需要删除该类。现在,我知道如何以一种草率的方式完成这项工作,我将DIB的类“单击蓝色”(jquery返回),然后去掉我需要的并替换它。 但是 这是难以置信的马虎,我看不到它是正确的方法。

    解决这个问题的正确方法是什么?我需要从DIV中删除第二个类,并将其替换为类“LOAD”。是否有某种方法可以单独调用每个类,.attr(“class”)[2]?

    1 回复  |  直到 16 年前
        1
  •  2
  •   Nick Craver    16 年前

    如果你知道课程是“点击”,你可以 设置 类,而不是添加/删除它,如下所示:

    $('div').attr('class', 'click load');
    

    如果你 知道 要删除的类(不确定这是否是一个简化示例),可以执行以下操作:

    $("div").removeClass('red green blue').addClass('load');
    

    编辑:基于注释 -您可以使用 $.data() 然后在加载后再抓取它以恢复它,如下所示:

    在您的点击功能中:

    $.data(this, 'class', $(this).attr('class')); //store the original class
    $(this).attr('class', 'click load');          //set loading class
    

    然后在以后恢复它:

    $(this).attr('class', $.data(this, 'class')); //restore orignal class