2015-11-08 176 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