JQUERY从嵌套的ul获取LI元素的ID值

时间:2017-06-29 05:44:53

标签: javascript jquery html css

HTML代码

<ul id='orgCat'>
    <li parent-id="0" li-id="16">Anthropology Department</li>
    <li parent-id="16" li-id="18">Anthropology Faculty Collections</li>
    <li parent-id="16" li-id="23">Shared Collections</li>
    <li parent-id="0" li-id="19">Center for Research on Vermont</li>
    <li parent-id="19" li-id="24">Collections for Testing</li>
    <li parent-id="24" li-id="25">Geology Department</li>
</ul>

Jquery的

jQuery(function($){
    var $ul = $('ul');
    $ul.find('li[parent-id]').each(function () {
        $ul.find('li[parent-id=' + $(this).attr('li-id') + ']').wrapAll('<ul />').parent().appendTo(this)
    });
});

//to get li-id on double click
$('#orgCat li').dblclick(function(){
alert($(this).attr('li-id'));
})

问题是 当双击“li”元素时,它也显示父母的“li-id”,但它应该只返回当前列表“li-id”。 Jsfiddle

1 个答案:

答案 0 :(得分:5)

您需要使用e.stopPropagation来停止事件冒泡。

$('#orgCat li').dblclick(function(e){
   e.stopPropagation();
  alert($(this).attr('li-id'));
});

查看this link了解详情。