2016-09-28 97 views
0

我在頂點4.2從數據庫生成的樹: 我怎樣才能得到一個裏的Id cicked

<ul id="ltr"> 
 
<li id="00010" class="open"><a href="" style="" class=""><ins>&nbsp;</ins>Root</a> 
 
<ul><li id="00110" class="open"><a href="" style="" class=""><ins>&nbsp;</ins>CHILD</a> 
 
<ul><li id="00563" class="open"><a href="" style="" class=""><ins>&nbsp;</ins>CHILD</a> 
 
<ul><li id="02057" class="leaf"><a href="" style="" class=""><ins>&nbsp;</ins>LAST CHILD</a></li> 
 
</ul></li></ul> 
 
</li> 
 
</ul> 
 
</li> 
 
</ul>

我使用點擊功能選擇節點的ID,用類葉沒問題,但打開類選擇父母和父母的ID,我怎樣才能選擇點擊節點的ID?

$(".leaf").click(function(){ 
     alert($(this).attr('id')); 
    }); 


$(".open").click(function(){ 
     alert($(this).attr('id')); 
    }); 

回答

1

您需要使用stopPropagation(),否則當單擊內部元素時,您的事件偵聽器將爲所有三個嵌套元素執行。而且你不應該使用數字作爲ID。

繼承人的工作小提琴:

$(document).ready(function(){ 
 
    $(".open").click(function(e){ 
 
    \t \t e.stopPropagation(); 
 
     alert($(this).attr("id")); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<ul id="ltr"> 
 
    <li id="a00010" class="open"> 
 
    <a href="" style="" class=""><ins>&nbsp;</ins>Root</a> 
 
     <ul> 
 
     <li id="a00110" class="open"><a href="#"><ins>&nbsp</ins>CHILD</a> 
 
      <ul> 
 
      <li id="a00563" class="open"><a href="#"><ins>&nbsp;</ins>CHILD</a> 
 
       <ul> 
 
       <li id="a02057" class="leaf"><a href="#"><ins>&nbsp;</ins>LAST CHILD</a></li> 
 
       </ul> 
 
      </li> 
 
      </ul> 
 
     </li> 
 
     </ul> 
 
    </li> 
 
</ul>

編輯:如果您想選擇。開和.leaf只是選擇更改爲:

$(".leaf, .open") 
+0

好吧,it'這只是一個小例子,但apex生成一個數字爲ID的大樹,我只想選擇沒有選擇父節點id的點擊節點的編號 –

+0

我的例子e也將使用數字編號。但不建議這樣做,因爲這可能會導致問題。 看到這個職位:http://stackoverflow.com/questions/5672903/can-i-have-a-div-with-id-as-number –

+0

感謝它完美的作品,但我如何使用動態行動在apex 4.2中控制樹的選擇。 –