我有这个HTML:

<div>
    <div><!-- all div without ID -->
        <span>some text</span>
        <div>
          <span id="listener1">click here</span>
          <span>sometext</span></div>
        <div>

        <span class="FIND_ME">Result Here</span></div>
    </div>

    <div>
        <span>some text</span>
        <div id="div1">
         <div id="div2">
          <span id="listener2">click here</span>
          <span>sometext</span></div>
         </div>
        <div>

        <span class="FIND_ME">Result Here</span></div>
    </div>
</div>


应该是以下逻辑:当我单击“单击此处”时,应该隐藏类“ FIND_ME”的元素,这是按下按钮时最接近的公共祖先。是否有可能做到这一点?

$("#listener1").click(function(){
    $(this).<SUPER_SEARCHING>.hide(); // for example hide, or add some CSS class
});

最佳答案

您可以找到其中包含元素.find_me的最接近的div:

$("#listener1").click(function(){
   $(this).closest('div:has(.FIND_ME)').find('.FIND_ME').hide();
});


Working Demo

关于javascript - 搜索具有共同祖先的物品,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28027305/

10-11 07:21