我可以使用jQuery从元素中删除最后添加的类

时间:2010-11-11 15:04:57

标签: javascript jquery

嘿伙计们,这个问题几乎要问自己......然而,为了更清晰:

我有一个名为“chuckPalahniuk”的元素,它有一个名为“choke”,“fightclub”和“haunted”的类。

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

:请注意,动态添加了类名。

干杯。 peeeps!

psy.example:

$('#chuckPalahniuk').click(function() {
  $(this).removeLastClassAdded(); //except this function doesn't exist...
});

3 个答案:

答案 0 :(得分:4)

只需保存在您添加c的每个班级的数组变量c.push('yourclass'),然后$(this).removeClass(c.pop());

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

答案 1 :(得分:2)

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

$('#chuckPalahniuk').click(function() {
    this.className = this.className.replace(/(^|\s+)[^\s]+(\s+)?$/, "");
});

答案 2 :(得分:1)

类似的东西:

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