跳过禁用的li / a

时间:2015-02-09 03:32:47

标签: javascript jquery html css

简单问题:我的时间栏中有一个禁用的时间栏。 我想点击时间栏上的prev和next按钮。这很好。问题是正在跳过残缺的" 0"按钮。当时间栏为f.e. " 6"单击下一个按钮,他应该转到" 1" -Button。我尝试使用 not()过滤课程,但这对我不起作用:

pr.find('a.time:last:not("time.disabled")').addClass('active_fp');

这是我的小提琴: http://fiddle.jshell.net/2mgj0cr2/44/

问候约翰

2 个答案:

答案 0 :(得分:1)

您的其他选择器应为:

Updated Example

$('#timebar a.time:not(".disabled")').first().addClass('active_fp');

在选择器之后链接.first()方法,以便抓取第一个a.time元素而不使用disabled类。

您还必须检查前一个元素是否具有类.disabled

if (pr.length === 0 || pr.find('a').hasClass('disabled')) { ... }

答案 1 :(得分:1)

如果您想在开头和之间支持disabled,请尝试

function follow() {
    var next = $('#timebar li a.active_fp').removeClass('active_fp').parent().nextAll(':has(a.time:not(.disabled)):first');
    if (next.length == 0) {
        next = $('#timebar a.time:not(.disabled):first').addClass('active_fp');
    }
    next.find('a').addClass('active_fp');
    var fp = next.find('a').attr('data-id');
    $('#text').html(fp);
}

演示:Fiddle