最接近jQuery无法正常工作

时间:2013-04-13 19:35:36

标签: javascript jquery

当用户点击.dropzone元素时,我尝试通过jQuery点击.dropzone-upload-btn类。我有这个代码,但它没有做任何事情。知道为什么吗?

<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();
});

1 个答案:

答案 0 :(得分: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仅查看在它之前的兄弟姐妹。