2014-10-06 41 views
1

我有一个页面,允许访客将收藏夹添加到列表中。它使用重复行来显示项目,所以泛型类重复。如何使用jQuery从跨度最接近的跨度中移除一个类?

如何显示单个模态窗口(.closest或.prev?),如果它们都具有相同的类别?

这里是我的小提琴:http://jsfiddle.net/psasj74L/

<span class="jsCrateMaxModal most-wanted-modal-container hide"> 
    <div class="most-wanted-modal"> 
     <div class="most-wanted-content"> 
      One. 
      <div class="col-xs-12"> 
       <div class="btn-primary btn-block">OK</div> 
      </div> 
     </div> 
    </div> 
</span> 
<button class="jsShowMaxModal mostWantedOff">Show Modal</button> 

的jQuery:

$('.jsShowMaxModal').click(function() { 
    $(".jsCrateMaxModal").closest("span").removeClass("hide"); 
}); 

$('.most-wanted-modal-container').click(function() { 
    $('.jsCrateMaxModal').addClass("hide"); 
}); 

回答

2

您可以使用.prev()在这种情况下找到按钮之前的模式。

$('.jsShowMaxModal').click(function() { 
    $(this).prev(".jsCrateMaxModal").closest("span").removeClass("hide"); 
}); 

工作例如:http://jsfiddle.net/psasj74L/2/

然而,这是一个小片状,我会建议包装的跨度和按钮在一个div它提供了一些逻辑分组。如果这是不可能的,另一种方法是使用数据属性来指定按钮应该打开的模式。

+0

完美,谢谢。 – 2014-10-08 23:03:02