簡體   English   中英

jquery if語句,用於檢查元素是否在特定父div中

[英]jquery if statement to check if element is within a specific parent div

我的布局中有很多帶有.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> 

除了上面的答案,如果有多個按鈕,而不是分別將事件綁定到每個按鈕,您只需要附加一次,基於其祖先,您可以執行以下操作:

$(".button").click(function() {
  if ($(this).is("#box1 *")) {}
});

如果兩組按鈕之間的功能差別很大,我只想在每組按鈕上定義事件處理程序:

$('#box1 .button').on('click', function(event) {
  // ...
});

$('#box2 .button').on('click', function(event) {
  // ...
});

如果沒有別的,你不需要if statement

$('#box1, #box2').find('.button').click(function() {
  //  do something
});

使用$(this).parents("#box1"); 在按鈕的單擊事件功能內

$('#box1 .button').click(function() {
  // first code
});

$('#box2 .button').click(function() {
  // second code
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM