如何在课堂上获得prev / next元素

时间:2012-09-06 10:49:32

标签: javascript jquery html

我想fadeOut上一个和下一个特定的类,为什么我的代码不起作用?你知道解决方案吗?

注意:如何指定#homebut的前一个是#aboutus,#aboutus的下一个是#homebut?

非常感谢您的帮助!

这是我的html代码:

<body>
    <div class="menuEintraege" id="2">
      <li class="current"><a href="home.html" id="homebut">home</a></li>
        <li><a href="apps.html"id="appsbut">apps</a></li>
        <li><a href="hedone.html" id="hedonebut">hedone</a></li>
        <li><a href="contact.html" id="contactbut">contact</a></li>
        <li><a href="aboutus.html" id="aboutusbut">about us</a></li>
    </div>
</body>

这是我的javascript直到现在:

$("a").click(function() {
    $(this).prev("li").fadeOut("fast");
    $(this).next("li").fadeOut("fast");
}

2 个答案:

答案 0 :(得分:1)

$("a").click(function() {
    $(this).parent().prev("li").fadeOut("fast");
    $(this).parent().next("li").fadeOut("fast");
}

答案 1 :(得分:1)

我的第一个想法是:

$('li a:first').addClass('active');

$('button').click(function(e) {
    e.preventDefault();
    var that = this,
        $that = $(that),
        aEls = $('.menuEintraege a'),
        aActive = $('.menuEintraege a.active')
        .closest('li')
        .index();
    if (that.id == 'pre') {
        $('.active').removeClass('active');
        var pre = aEls.eq(aActive - 1);
        var prev = pre.length ? pre : aEls.last();
        prev.addClass('active');
    }
    else if (that.id == 'nxt') {
        $('.active').removeClass('active');
        var pre = aEls.eq(aActive + 1);
        var prev = pre.length ? pre : aEls.first();
        prev.addClass('active');
    }
});​

JS Fiddle demo

相关问题