如何让所有<li>标签的父母点击它?</li>

时间:2015-02-26 12:53:26

标签: javascript jquery html css

我正在设计dynatree,因此节点放在ul和li标签中。我得到的问题是我没有得到点击li元素的父母。

这是我的HTML代码,

<ul class="bulk">

 <li>gp1
   <ul>
    <li>gp2
    <ul>
        <li>gp3
            <ul>
                <li>c1
                <li>c2
                <li>c3
            </ul>
        <li>gp4
    </ul>
  </ul>
 <li>gp5
   <ul>
    <li>gp6
    <ul>
        <li>gp7
            <ul>
                <li>c4
                <ul>
                <li>c5
                <li>c6
                </ul>

            </ul>
        <li>gp8
        <li>gp9
    </ul>
    <li>gp10
</ul>
</ul>

这是我的jquery方法

   $('ul.bulk li').click(function(e) 
                { 
                 //alert($(this).find("span.t").text());
                 alert(e.html());
                });

这是我的fiddel http://jsfiddle.net/raghavendram040/ojnLrcjz/

我得到的问题是如果点击gp3它会提醒我3次,但我想如果我点击gp3它应该警告其父母(gp1和gp2)。这里我动态放置所有li和ul,除了tag。如何实现这一点请帮助我

1 个答案:

答案 0 :(得分:1)

您可以执行类似

的操作
$(function () {
    $('ul.bulk li').click(function (e) {
        if($(e.target).is(this)){
            $(this).parentsUntil('.bulk', 'li').each(function(){
                alert(this.firstChild.nodeValue)
            })
        }
    });
});

演示:Fiddle