我怎样才能得到一个 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> </ins>Root</a>
<ul><li id="00110" class="open"><a href="" style="" class=""><ins> </ins>CHILD</a>
<ul><li id="00563" class="open"><a href="" style="" class=""><ins> </ins>CHILD</a>
<ul><li id="02057" class="leaf"><a href="" style="" class=""><ins> </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> </ins>Root</a>
<ul>
<li id="a00110" class="open"><a href="#"><ins> </ins>CHILD</a>
<ul>
<li id="a00563" class="open"><a href="#"><ins> </ins>CHILD</a>
<ul>
<li id="a02057" class="leaf"><a href="#"><ins> </ins>LAST CHILD</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
编辑:如果您想 select .open 和 .leaf 只需将 select 或更改为:
$(".leaf, .open")
我在 apex 4.2 中有一个从数据库生成的树:
<ul id="ltr">
<li id="00010" class="open"><a href="" style="" class=""><ins> </ins>Root</a>
<ul><li id="00110" class="open"><a href="" style="" class=""><ins> </ins>CHILD</a>
<ul><li id="00563" class="open"><a href="" style="" class=""><ins> </ins>CHILD</a>
<ul><li id="02057" class="leaf"><a href="" style="" class=""><ins> </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> </ins>Root</a>
<ul>
<li id="a00110" class="open"><a href="#"><ins> </ins>CHILD</a>
<ul>
<li id="a00563" class="open"><a href="#"><ins> </ins>CHILD</a>
<ul>
<li id="a02057" class="leaf"><a href="#"><ins> </ins>LAST CHILD</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
编辑:如果您想 select .open 和 .leaf 只需将 select 或更改为:
$(".leaf, .open")