2017-06-29 8 views
0

HTMLコードjQueryの取得ID値は

<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-id'も表示されますが、現在のリスト 'li-id'だけが返されます。 Jsfiddle

+2

add e.stopPropagation();イベントが親にバブリングするのを止める – guradio

答えて

5

イベントのバブリングを停止するには、e.stopPropagationを使用する必要があります。

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

詳細については、this linkを参照してください。

+0

この質問を解決できますか?https://stackoverflow.com/questions/44819497/jquery-expand-only-selected-parent-list/44819557#44819557 – nani0077

関連する問題