我有一个包含多个类的元素。当我单击这个类时,我需要将一个类的剩余部分作为变量。
我知道班级的第一部分总是以“jump _”开头
示例:
<span class="jump jump_toThis randomClass">Something</span>
$('#tray').on('click', 'span.jump', function(e){
var $this = $(this),
classList = $this.attr('class');
console.log(classList);
// Not sure how to remove *jump_* from *toThis*
// along with the other classes
});
答案 0 :(得分:1)
尝试
$('#tray').on('click', 'span.jump', function (e) {
var className = this.className,
jumper = className.match(/\b(jump_.*?)\b/)[1];
if (jumper) {
$(this).removeClass(jumper).addClass(jumper.replace(/^jump_/, ''))
}
});
演示:Fiddle
如果您想仅保留toThis
作为课程
$('#tray').on('click', 'span.jump', function (e) {
var className = this.className,
jumper = className.match(/\b(jump_.*?)\b/)[1];
if (jumper) {
$(this).removeClass().addClass(jumper.replace(/^jump_/, ''))
}
});
演示:Fiddle