2014-02-06 34 views
0

我有一些动态创建的内容,其中可能有2个或可能有200个DIV - 每个div都有一些我想要切换的内容和一个显示内容的箭头。Jquery切换项目数未知

我可以得到切换等工作正常,但当它切换切换一切(即所有与类名称的项目 - 因为它应该),但我只希望它切换相关的。

<div id="outer"> 
    <div class="inner"> 
     <div class="left"> 
      <div class="expanded"> 
       12345 
      </div> 
     </div> 
     <div class="right"> 
      <div class="arrow-down"></div> 
     </div> 
    </div> 
    <div class="inner"> 
     <div class="left"> 
      <div class="expanded"> 
       12345 
      </div> 
     </div> 
     <div class="right"> 
      <div class="arrow-down"></div> 
     </div> 
    </div> 
    <div class="inner"> 
     <div class="left"> 
      <div class="expanded"> 
       12345 
      </div> 
     </div> 
     <div class="right"> 
      <div class="arrow-down"></div> 
     </div> 
    </div>  
</div> 

toggling dynamically created divs in jquery我曾尝试建议使用并从Toggle dynamically created divs使用下一个/上,但是当我使用这些没有任何反应,并没有什么在DevTools帮助

任何人都可以点我在正确的方向,所以当我点击每个箭头时,只有它的扩展框出现? Fiddle

+0

http://jsfiddle.net/pgJf4/1/ –

回答

1

您可以在同一inner元素

$(".arrow-down").click(function() { 
    $(this).closest('.inner').find('.expanded').toggle("slow"); 
}); 

演示中定位扩展元素E本以获得目标元素

$(".arrow-down").click(function() { 
    $(this).parent().parent().find('.expanded').toggle("slow"); 
}); 
+0

它可能会使用事件委派,而不是有用的。这样只有一个事件处理程序,并且在添加新元素时不需要重新应用点击处理程序:http://jsfiddle.net/Fbu99/2/ – Munter

+0

@Munter是,如果项目是动态添加的事件代表团可能需要 –

+0

工作很好,谢谢 – bhttoan