jQuery next, parent, closest

标签 jquery html click closest

HTML:

<div class="container">
  <ul>
    <li class="item" id="id_1">
      <h2>header</h2>
      <div class="c_image">
        <img/>
      </div>
    </li>
  </ul>
</div>

图像上的点击事件必须触发相关 h2 上的点击事件。 自动呈现 html。

JS:

$(".container .item .c_image img").each(function(){
  $(this).click(function(){
    //console.log($(this).parent("li.item"));
    $(this).closest("h2")[0].click();
  });
});

这种情况最好的解决办法是什么, 我试过 closest 但它没有触发 h2 click 事件。

这很好用:

$('#id_1 .c_image img').click(function(){
  $('li#id_1 h2')[0].click();
});

最佳答案

closest('h2') 在这里不起作用,因为 h2 是父元素 img 的兄弟元素。您需要获得最接近的 li 然后 find() h2:

$(".container .item .c_image img").click(function(){
    $(this).closest('li').find("h2").click();
});

请注意,您不需要遍历 img 元素,而且如果您将事件附加到 li,则可以避免需要此代码h2 作为事件将从 imgh2 冒泡。

关于jQuery next, parent, closest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33124876/

相关文章:

jquery - 如果单击 *this 或 *this,则分别执行 *this 或 *this

android - 如何知道某人何时点击了广告 View ?

jquery - 如何将每张卡片分开同时翻转回来

javascript - 在 WordPress 主题模板中排队 jQuery 插件

javascript - 有条件地将数据从封闭 View 传递到部分 View

javascript - 如何使用以 "a"开头或以 "b"结尾的 CSS 选择器对元素进行模式匹配

javascript - 如何在选择一个后立即使用 HTML 下拉列表 "select"中的值?

javascript - jQuery PJAX 插件不能在 HTML 网站上运行?

javascript - typescript 中的 Angular2 过滤器

javascript - 仅选择添加到 DOM 的单击元素