2015-11-08 175 views
1

有了这个标记DOM遍历与jQuery

<div class="col-md-3"> 
    <div id="carousel-race-track"> 
    <%= image_tag 'race_track/track_curved.jpg', data: { engine: 'Sports'} %> 
    <%= image_tag 'race_track/track_hills.jpg', data: { engine: 'Hills'} %> 
    <%= image_tag 'race_track/track_rough.jpg', data: { engine: 'Rough'} %> 
    <%= image_tag 'race_track/track_straight.jpg', data: { engine: 'Straight'} %> 
    </div> 
    <p class="lead"><a class="btn btn-lg btn-info select">Select</a></p> 
</div> 

当我点击.select例如如何将我穿越做的就是到div #carousel-race-track

我要去有多个转盘等都将通配符该ID搜索,与carousel-

我试着去说这句话

$('.select').on('click', function(e){ 
    e.preventDefault(); 
    var carousel = $(this).closest("[id^='carousel-']"); 
    $(carousel).cycle('pause'); 
}); 
前缀

closest这里的错误方法?

回答

1

最近查找与选择器匹配的最接近的父代。你想要使用父进入.lead,然后prev它找到匹配选择器的前一个兄弟。

$('.select').on('click', function(e){ 
    e.preventDefault(); 
    var carousel = $(this).parent().prev("[id^='carousel-']"); 
    $(carousel).cycle('pause'); 
}); 

或者你可以这样做:

var carousel = $(this).closest('.col-md-3').find("[id^='carousel-']"); 

此找到最接近.COL-MD-3父然后发现里面的旋转木马。

+0

啊,谢谢你 – Richlewis

+0

@Richlewis没问题! =] – AtheistP3ace

0

$(this).parent().siblings();应该做的工作。

如果你有不同的兄弟姐妹,你必须指定一个你感兴趣的选择器。

请记住,返回jQuery对象,所以你有任何直接的方法jQuery追加到它:

carousel.cycle('pause'); 
+0

.select不是旋转木马的兄弟 – AtheistP3ace

+0

叶,现在才注意到。在SO移动上格式化并不是最好的 – MacK