jquery if语句,用于检查元素是否在特定父div中

use*_*434 3 javascript jquery children if-statement parent

我的布局中有很多带有.button类的元素.单击带有按钮类的元素后,我需要首先检查元素是否在box1或box2的父div中.

一个简短的例子是......如果点击的按钮在box1 div &&(另一个条件)内,那么就做点什么.是否最好使用.closet和.length的组合来检查按钮是否在某个div内?

<div id="box1">
        <div id="column1">
             <div class="round_button"></div>
             <div style="background: #000">
                  <div class="button"></div>
                  <div class="button"></div>
                  <div class="button"></div>
                  <div class="button"></div>
                  <div class="button"></div>
                  <div class="button"></div>
             </div>
        </div>
 <div> 

<div id="box2">
        <div id="column2">
             <div class="round_button"></div>
             <div style="background: #000">
                  <div class="button"></div>
                  <div class="button"></div>
                  <div class="button"></div>
                  <div class="button"></div>
                  <div class="button"></div>
                  <div class="button"></div>
             </div>
        </div>
 <div> 
Run Code Online (Sandbox Code Playgroud)

Sex*_*ast 8

除了上面的答案,如果有多个按钮,而不是分别将事件绑定到每个按钮,您只需要附加一次,基于其祖先,您可以执行以下操作:

$(".button").click(function() {
  if ($(this).is("#box1 *")) {}
});
Run Code Online (Sandbox Code Playgroud)