2013-04-13 79 views
1

我嘗試點擊.dropzone類,通過jQuery當用戶點擊.dropzone-upload-btn元素。我有這個代碼,但它沒有做任何事情。任何想法爲什麼?在jQuery中最接近不工作

<div class="dropzone-wrapper"> 
    <div class="dropzone"></div> 
    <div class="dropzone-upload-btn"></div> 
</div> 

這是jQuery代碼(簡化的)

$('.dropzone-upload-btn').on("click", function() { 
    return $(this).closest('.dropzone').click(); 
}); 

回答

4

closest着眼於匹配元素及其祖先。你可能想siblings

$('.dropzone-upload-btn').on("click", function() { 
    return $(this).siblings('.dropzone').click(); 
}); 

參考文獻:

當然,如果你是100%肯定的.dropzone元素會立刻浮現在.dropzone-upload-btn前元素,那麼你可以使用prevprevAll

$('.dropzone-upload-btn').on("click", function() { 
    return $(this).prev('.dropzone').click(); 
}); 

參考文獻:

prevAll可以,如果你知道目標元素將匹配一個之前他們都能用上,但不一定立即之前。 prev將只看第一個直接以前的兄弟姐妹。

prevAllsiblings之間的區別是,siblings着眼於匹配元素之後之前兄弟姐妹,而prevAll看起來只有在面前的兄弟姐妹。