1

我正在尝试使用 jquery<li>根据变量的值(i)从元素中添加和删除类。

这是我到目前为止所做的一个 jsfiddle http://jsfiddle.net/LX8yM/

单击“+”i以 1 为增量(我已经使用 chrome 的 javascript 控制台检查了这一点)。

应该能够单击“+”,并且.active应该相应地从元素中删除该类并将其添加到<li>元素中。

...我可以让第一个<li>元素接受课程,仅此而已...

4

5 回答 5

6

不需要 if 语句:

$(document).ready(function (){   
  $('#add').click(function (){
    $('.numbers .active').removeClass('active').next().addClass('active');
  });
});

jsfiddle

请注意,我在第一个列表项中添加了一个“活动”类。如果您无法控制标记,则始终可以通过 JS 执行此操作。

于 2013-07-19T13:21:13.283 回答
3

您的 if..else.. 正在挂起document.ready。将增量包装在一个函数中并分别调用它。

喜欢

$(document).ready(function (){      
    //variable
    var i = 1;

    //if statments
    function incre(i){ // wrap into a function and process it
    if(i == 1){
        $('#one').addClass('active');
        $('#two').removeClass('active');
        $('#three').removeClass('active');
    }else if(i == 2){
        $('#one').removeClass('active');
        $('#two').addClass('active');
        $('#three').removeClass('active');
    }else if(i == 3){
        $('#one').removeClass('active');
        $('#two').removeClass('active');
        $('#three').addClass('active');
    }
    }

    //change i
    $('#add').click(function (){
        incre(i++);  // pass it as a parameter
    });

});

工作 JSFiddle

于 2013-07-19T13:18:50.747 回答
1

这会更容易:

$(document).ready(function(){
    var i = 0; // set the first value
    $('#something').click(function(){
    i++; // every click this gets one higher.

    // First remove class, wherever it is:
    $('.classname').removeClass('classname');
        // Now add where you need it
        if( i==1){
        $('#one').addClass('classname');
        } else if( i==2){
        $('#two').addClass('classname');
        } else if( i==3){
        $('#three').addClass('classname');
        }
    }):
});
于 2013-07-19T13:19:17.027 回答
0

请参阅此代码。最初,您必须将 class 添加到one

$(document).ready(function (){

    //variable
    var i = 1;
    $('#one').addClass('active');

    //if statments


    //change i
    $('#add').click(function (){
        i++;
        if(i == 1){
        $('#one').addClass('active');
        $('#two').removeClass('active');
        $('#three').removeClass('active');
    }else if(i == 2){
        $('#one').removeClass('active');
        $('#two').addClass('active');
        $('#three').removeClass('active');
    }else if(i == 3){
        $('#one').removeClass('active');
        $('#two').removeClass('active');
        $('#three').addClass('active');
    }
    });

});
于 2013-07-19T13:22:26.513 回答
-1

它只被调用一次,而不是在点击事件函数中。你的小提琴的这个编辑作品:http: //jsfiddle.net/LX8yM/2/

把它放在

'$('#add').click(function (){}'
于 2013-07-19T13:18:47.200 回答