javascript - 使用 jquery 从给定元素搜索 DOM

标签 javascript jquery

在 jquery 中,我试图找到一种方法来搜索 dom 直到它找到选择器。例如。

提供这个结构:

<span data-type="contact" data-filter="4" id="buyer-lookup" class="uneditable-input contact-lookup" data-original-title="" title="">Jeff</span>
<div class="popover">
   <div class="arrow"></div>
   <h3 class="popover-title"><strong>Jeff</strong></h3>
   <div class="popover-content">
      <address style="margin:0;"> MO<br></address>
      <a data-id="70" data-type="contact" class="pull-right edit-contact" href="#">Edit</a>
      <div class="clear"></div>
   </div>
</div>

单击“.edit-contact”后,我想向上搜索直到找到“span.contact-lookup”。我可以使用 parent 几次来获得我想要的东西,如下所示,但是有没有更简洁的方法让您只需指定 $(this).searchUpFunction('span.contact-lookup');所以它会从这里开始并向上搜索直到找到 span.contact-lookup? .prev 似乎没有搜索 parent 。

$('.edit-contact').click(function(){
       var filter = $(this).parent().parent().prev('span.contact-lookup').data('filter');
       alert(filter);
    });

最佳答案

使用closest

$('.edit-contact').click(function(){
   contactID = $(this).closest('div.popover').prev().data('contact-id');
   alert(contactID);
});

关于javascript - 使用 jquery 从给定元素搜索 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16302136/

相关文章:

javascript - 如何从 req.body 获取数组?

javascript - Mongoose 和 express : POST data from subdocument

javascript - Chrome 中关于 document.styleSheets 的奇怪行为

javascript - 如果 url 是主页,则执行 jquery

javascript - 在页面上加载高级 jQuery 版本

javascript - javascript 中的 async/await 并发函数调用(链函数)

JavaScript promise : how to deal with token expiry in API calls?

javascript - 在多个类悬停时使用 Jquery 显示 div

javascript - JQuery/Javascript -- 基于选择而不是值显示 div

javascript - 在 jQuery 中查找导致所选元素的元素列表