jQuery - 使用next()跨段添加和删除类

时间:2011-09-11 05:13:39

标签: javascript jquery

我有一个文件,它有各种各样的跨度,上面有类.highlight。第一个选中的项目上还有.currentItem,表示它是当前选中的项目。我希望能够在用户单击按钮时浏览到下一个突出显示的项目。这是我能说的最好的功能:

function goNextHighlight() {
    var $active = $('.currentItem');
    var $next = $('.currentItem').next('.highlight');

    $active.removeClass('currentItem');
    $next.addClass('currentItem');
}

$ active正确设置,它正在从中删除currentItem类。但是,$ next通常不起作用,因为下一个突出显示的项目位于另一个div或段落中。 Here's a jsfiddle that shows the problem。如果你点击下一个按钮两次,你会看到它第一次工作,但不是第二次。

如何使这项工作能够进入下一个匹配的.highlight,无论文档在哪里?

1 个答案:

答案 0 :(得分:3)

var $next = $('.highlight').eq($active.index('.highlight')+1);

示例:http://jsfiddle.net/Paulpro/qjsjt/1/