javascript - 在 jQuery 中最接近的不起作用

标签 javascript jquery

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

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

最佳答案

closest 查看匹配的元素及其祖先。你可能想要 sibling :

$('.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 只会查看 first immediate previous sibling.

prevAllsiblings 的区别在于siblings 看的是匹配元素之前之后的兄弟,而 prevAll 只查看它之前的 sibling 。

关于javascript - 在 jQuery 中最接近的不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15992041/

相关文章:

jquery - 单击标签不会选中关联的复选框

javascript - 让函数等待事件结束后出错

javascript - 我不想刷新我的页面或控制台! JavaScript 表单处理

javascript - x 秒后显示链接

javascript - 传单自定义 url\自定义图 block

javascript - 如何在 javascript 或 jquery 中获取上个月的日期

php - Foreach 视频创建模态

javascript持久选择

javascript - 运行时加载+覆盖函数

jquery-ui - Jquery UI 自动完成图像