代码之家  ›  专栏  ›  技术社区  ›  Barrie Reader

我可以用jquery只从元素中删除最后添加的类吗?

  •  2
  • Barrie Reader  · 技术社区  · 15 年前

    嘿,伙计们,这个问题本身就很有问题…但是,为了更清楚地说明:

    我有一个元素叫做“chuckpalahniuk”,它有一个类叫做“choke”、“fightclub”和“formed”。

    当我点击“chuckpalahniuk”元素时,它首先删除“闹鬼”,然后在第二次点击时删除“fightclub”,在第三次点击时删除“choke”,我怎么能得到它呢?

    也 :请注意,类名是动态添加的。

    干杯。小便!

    psy.示例:

    $('#chuckPalahniuk').click(function() {
      $(this).removeLastClassAdded(); //except this function doesn't exist...
    });
    
    3 回复  |  直到 15 年前
        1
  •  4
  •   fcalderan    15 年前

    只需保存在数组变量中 c 你增加的每门课 c.push('yourclass') 然后 $(this).removeClass(c.pop());

    http://www.devguru.com/technologies/ecmascript/quickref/pop.html

        2
  •  2
  •   Tim Down    15 年前

    这样做,将处理前导空格和尾随空格,这是 split() -基于解决方案不会:

    $('#chuckPalahniuk').click(function() {
        this.className = this.className.replace(/(^|\s+)[^\s]+(\s+)?$/, "");
    });
    
        3
  •  1
  •   B-Scan    15 年前

    比如:

    $('#chuckPalahniuk').click(function() {
        $(this).removeClass($(this).attr('class').split(/\s+/).pop());
    });