JQuery每个循环问题

bhe*_*fny 3 javascript each jquery

我有以下代码

  <div>
 <a href="#" class="clickMe">test</a>
 <ul>
     <li class="action_li">1</li>
     <li class="action_li">2</li>
 </ul></div> <div>
 <a href="#" class="clickMe">test</a>
 <ul>
     <li class="action_li">3</li>
     <li class="action_li">4</li>
 </ul>
Run Code Online (Sandbox Code Playgroud)

我想循环所有<li><div>点击相同的内容<a>

$("a.clickMe").live("click", function(eve){
   eve.preventDefault();
   $('.action_li').each(function(index) {
      console.debug(this);
   }); 
});
Run Code Online (Sandbox Code Playgroud)

但是当然这会让我全部4个<li>而不是两个封闭所以我希望有一些开始$(this)和结束的东西.each()

kar*_*m79 5

有很多方法,例子:

   $(this).parent().find("li.action_li").each(function(index) {
      console.debug(this);
   }); 
Run Code Online (Sandbox Code Playgroud)

要么:

   $(this).next("ul").children("li.action_li").each(function(index) {
      console.debug(this);
   });
Run Code Online (Sandbox Code Playgroud)

等等


RaY*_*ell 5

这应该工作:

$("a.clickMe").live("click", function(eve){
   eve.preventDefault();
   $('.action_li', $(this).parent()).each(function(index) {
      console.debug(this);
   }); 
});
Run Code Online (Sandbox Code Playgroud)

选择器旁边的第二个参数将搜索范围限制为仅仅DOM树的一部分,在此部分中为DOM的diva元素.