我怎样才能得到一个 li cicked 的 Id

How I Can Get the Id of a li cicked

我在 apex 4.2 中有一个从数据库生成的树:

<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>

我使用点击函数 select 节点的 id,class 叶没有问题,但是打开 class selects 父节点和parent id,如何select点击节点的id?

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


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

您需要使用 stopPropagation(),否则您的事件侦听器将在单击内部元素时对所有三个嵌套元素执行。而且您不应该使用数字作为 ID。

这是一个有效的 Fiddle:

$(document).ready(function(){
  $(".open").click(function(e){
    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>

编辑:如果您想 select .open 和 .leaf 只需将 select 或更改为:

$(".leaf, .open")