【发布时间】:2015-10-02 08:57:10
【问题描述】:
背景故事:我有一个已被搜索的短语的 HTML,它在每个实例周围放置一个跨度。因此,如果我搜索 Lorem,该词出现的每个地方都会如下所示:
<span class="live-search-highlight">Lorem</span>
这给了它一点亮点。第一个实例被赋予了一个不同的类,具有更明显的亮点,如下所示:
<span class="highlight-current">Lorem</span>
问题:我想单击一个按钮,从.highlight-current 开始,我想找到.live-search-highlight 的下一个实例并将其类切换为.highlight-current。如何使用 jQuery 实现这一点?这是我目前所拥有的,它只工作一次:
$(document.body).on('click','.button', function(){
// Find highlight-current, then get the next instance and make that one current
$('.highlight-current').parent().nextAll(".live-search-highlight").eq(0).removeClass('live-search-highlight').addClass('highlight-current');
// Reset the previous one so it's no longer current
$('.highlight-current:first').removeClass('highlight-current').addClass('live-search-highlight');
});
【问题讨论】:
-
如果您创建一个包含所有 lorem 的数组,那么您可以使用 jquery eq(index) 按顺序引用它们。
-
我会开始调查的。我简直不敢相信没有办法说“嘿,jQuery……为我找到这个类的下一个实例。”看起来很初级。
-
$('.live-search-highlight') 将返回您需要开始的元素数组。然后你只需要手动跟踪索引
标签: javascript jquery next