获取下一个div wrt到当前具有相同类名的div

时间:2011-06-22 12:56:13

标签: jquery

如何找到与当前类相同的类的下一个。使用jquery

我有<div> class="help",现在当我点击其中的一个按钮时,我想选择具有相同“帮助”类的下一个按钮。

<div class="help">  
     <div>....OTHER HTML CONTENT......<div>
     <input type='submit' class='ok'>
</div>
<div>....OTHER HTML CONTENT......<div>
<div class="help"></div>
<div>....OTHER HTML CONTENT......<div>
<div>....OTHER HTML CONTENT......<div>
<div>....OTHER HTML CONTENT......<div>
<div class="help"></div>
<div>....OTHER HTML CONTENT......<div>
<div class="help"></div>

4 个答案:

答案 0 :(得分:2)

要查找具有相同类的下一个元素,您可以使用nextAll和选择器来选择第一个元素。

$('input').click(function(){
     var a = $(this).parent();  
    a.nextAll("."+a.attr('class')+":first");    
});

示例:http://jsfiddle.net/niklasvh/CwSTC/

答案 1 :(得分:0)

假设您的所有help div都是兄弟,并且该按钮始终是其中之一的子项,那么您在.click()处理程序中需要的是:

$(this).parent().nextAll('.help').first();

(感谢@Niklas让我检查.next()并意识到这是不对的)

答案 2 :(得分:0)

如果您有一个处理按钮单击的功能,您可以访问父div,然后从那里访问下一个帮助div。见下文。

function btn_click_handler()
{
  var btn = $(this);
  var next_help_div = btn.parent("div.help").nextAll("div.help:first");
  <your code here>
}

答案 3 :(得分:0)

假设元素是不是兄弟姐妹,你可以这样做:

var $elements = $('.someClass');

$elements.click(function() {
    var $nextElement = $elements.eq($elements.index(this) + 1);
});

参考: eqindex

DEMO