0

我陷入了一种逻辑

我必须获取前一个 li 的值,该元素具有类活动!我到现在都没有成功,这是一个例子

<ul>
  <li class='active'><a href='' value='1'>One</a></li>
  <li><a href='' value='2'>Two</a></li>
  <li><a href='' value='3'>Three</a></li>
</ul>

默认情况下,一个是活动的,但是当我单击三个时,我想获取一个的值,即我想获取一个 (1) 的属性,三个成为活动的 li,当我单击两个时,我必须获取值为 3,并且 2 变为活动状态。

我真的注定要失败!任何帮助将非常感激。我试过的代码是纯粹的垃圾。请救救我!!:' (

4

4 回答 4

0

做这个

var previous;
$('li').click(function() {
    previous = $(this).parent().children('.active').index() + 1;
    $(this).siblings().removeClass('active');
    $(this).addClass('active');
});
于 2013-11-15T06:57:50.227 回答
0

试试喜欢

$('ul li a').click(function(){
     var prev_act_id = $('li.active a').attr('value');
     $('ul li').removeClass('active');
     $(this).parent('li').addClass('active');
     alert('Previous value is ' + prev_act_id);
});

看到这个小提琴

于 2013-11-15T06:58:37.857 回答
0

我将粘贴代码:

var $active = $(".active");
$("li").click(function(e) {
    e.preventDefault();

    if ($(this).hasClass('active')) {
        return;
    }
    $(this).addClass("active");
    $active.removeClass("active");
    $active = $(this);
});

jsfiddle 链接:http: //jsfiddle.net/VLXsz/1/

希望它会帮助你:)

于 2013-11-15T07:02:20.500 回答
0

将上一项保存在变量中:

var previous = null;

$('a').click(function(){
    previous.parent().removeClass('active');
    previous = $(this);
    $(this).parent().addClass('active');
})

比如果你想获得以前的价值:

if(previous !== null) {
    previous_value = previous.val();
} else {
    previous_value = null;
}
于 2013-11-15T07:07:53.510 回答