嘿伙计们,这个问题几乎要问自己......然而,为了更清晰:
我有一个名为“chuckPalahniuk”的元素,它有一个名为“choke”,“fightclub”和“haunted”的类。
当我点击“chuckPalahniuk”元素时,我怎么能得到它,它首先删除“闹鬼”,然后在第二次点击时删除“fightclub”并在第三次点击“choke”?
还:请注意,动态添加了类名。
干杯。 peeeps!
psy.example:
$('#chuckPalahniuk').click(function() {
$(this).removeLastClassAdded(); //except this function doesn't exist...
});
答案 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());
});