Javascript 从嵌套LI中选择自定义属性

Javascript 从嵌套LI中选择自定义属性,javascript,jquery,Javascript,Jquery,我有一个如下所示的菜单项,在本例中,我有一个父项,其groupId=5,这就是分析。现在我要做的是,当我点击一个LI时,我想选择链接id。。。现在我很容易就能做到 没有问题,如何选择链接id=“22”和链接id=“23” 不触发link id=21,因为在这种情况下link id=21是另一个子菜单 HTML 简而言之,我希望能够选择链接id,但是如果链接id有子菜单,我想选择子菜单的链接id您可以对[sub-groupid]元素使用单击处理程序,然后找到与单击元素最近的li,然后获取其链接id

我有一个如下所示的菜单项,在本例中,我有一个父项,其
groupId=5
,这就是分析。现在我要做的是,当我点击一个LI时,我想选择
链接id
。。。现在我很容易就能做到

没有问题,如何选择
链接id=“22”
链接id=“23”
不触发
link id=21
,因为在这种情况下
link id=21
是另一个子菜单

HTML


简而言之,我希望能够选择
链接id
,但是如果
链接id
有子菜单,我想选择子菜单的链接id

您可以对
[sub-groupid]
元素使用单击处理程序,然后找到与单击元素最近的
li
,然后获取其
链接id

$(“ul[子组ID]”)。单击(函数(e){
警报($(e.target).closest('li[link-id')).attr('link-id');
NavigationMenu.App.SetLinkId($(e.target).closest('li[link-id')).attr('link-id');
});

    • @Html.ActionLink(“声誉报告卡”、“声誉报告卡”、“报告”,新建{area=“Analytics”},空)
      • @Html.ActionLink(“概述”、“索引”、“概述”,新建{area=“Analytics”},空)
      • @Html.ActionLink(“内容”、“索引”、“内容”,新的{area=“分析”},空)

您可以对
[sub-groupid]
元素使用单击处理程序,然后找到距离单击元素最近的
li
,然后获取其
链接id

$(“ul[子组ID]”)。单击(函数(e){
警报($(e.target).closest('li[link-id')).attr('link-id');
NavigationMenu.App.SetLinkId($(e.target).closest('li[link-id')).attr('link-id');
});

    • @Html.ActionLink(“声誉报告卡”、“声誉报告卡”、“报告”,新建{area=“Analytics”},空)
      • @Html.ActionLink(“概述”、“索引”、“概述”,新建{area=“Analytics”},空)
      • @Html.ActionLink(“内容”、“索引”、“内容”,新的{area=“分析”},空)

我想您应该使用它:

$("ul[sub-groupid] li").click(function (e) {
    var lid = $(this).has('ul') 
              ? $(this).find('li').attr('link-id') 
              : $(this).attr('link-id');
    NavigationMenu.App.SetLinkId(lid);
});

我想你应该用它:

$("ul[sub-groupid] li").click(function (e) {
    var lid = $(this).has('ul') 
              ? $(this).find('li').attr('link-id') 
              : $(this).attr('link-id');
    NavigationMenu.App.SetLinkId(lid);
});
$(“ul[子组ID]li”)。单击(功能(e){
e、 停止传播();
警报($(this.attr('link-id'))
});

    • @Html.ActionLink(“声誉报告卡”、“声誉报告卡”、“报告”,新建{area=“Analytics”},空)
      • @Html.ActionLink(“概述”、“索引”、“概述”,新建{area=“Analytics”},空)
      • @Html.ActionLink(“内容”、“索引”、“内容”,新的{area=“分析”},空)
  • $(“ul[子组ID]li”)。单击(功能(e){
    e、 停止传播();
    警报($(this.attr('link-id'))
    });
    
    
    
    • @Html.ActionLink(“声誉报告卡”、“声誉报告卡”、“报告”,新建{area=“Analytics”},空)
      • @Html.ActionLink(“概述”、“索引”、“概述”,新建{area=“Analytics”},空)
      • @Html.ActionLink(“内容”、“索引”、“内容”,新的{area=“分析”},空)

  • 如果你点击
    Facebook快照
    我建议使用
    $(“ul[sub-groupid]li”)
    而不是
    $(“ul[sub-groupid]>li”)
    并尝试使用
    $(“li[link id]”)
    。它将以所有具有“链接id”属性的li为目标。如果你点击Facebook快照,请用另外2个链接滑下导航三级in@GuruprasadRao还有Joshua,现在试试你的建议如果你点击Facebook快照,我建议用
    $(“ul[sub-groupid]li”)
    而不是
    $(“ul[sub-groupid]>li”)怎么办
    并尝试..使用
    $(“li[链接id]”)来
    。它将以所有具有“链接id”属性的li为目标。如果你点击Facebook快照,请用另外2个链接滑下导航三级in@GuruprasadRao还有Joshua,现在试试你们的建议
    $("ul[sub-groupid] li").click(function (e) {
        var lid = $(this).has('ul') 
                  ? $(this).find('li').attr('link-id') 
                  : $(this).attr('link-id');
        NavigationMenu.App.SetLinkId(lid);
    });