2

複数のクラスを持つ要素があります。このクラスをクリックすると、クラス パーシャルの残りの部分を変数として取得する必要があります。

クラスの最初の部分は常に「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

});
4

1 に答える 1

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_/, ''))
    }
});

デモ:フィドル

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_/, ''))
    }
});

デモ:フィドル

于 2013-09-05T02:18:15.120 に答える