2016-09-28 44 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中控制树的选择。 –