jquery-如何获取根或最顶端的属性<;李>;如果我';m嵌套在一个无序的列表中

jquery-如何获取根或最顶端的属性<;李>;如果我';m嵌套在一个无序的列表中,jquery,jquery-selectors,html-lists,Jquery,Jquery Selectors,Html Lists,我想返回嵌套无序列表的树菜单到最顶端,并使用jquery的切换函数检索“p_node”属性。例如,当我点击“Annie”时,我想检索根li,在她的例子中是“mCat1”,并提取脚本中要使用的“p_node”的值。我怎样才能做到这一点?谢谢你的帮助 以下是无序列表: <ul id="nav> <li type="root" p_node="39">Cat 2 <ul> <li><a>sub cat2</

我想返回嵌套无序列表的树菜单到最顶端
  • ,并使用jquery的切换函数检索“p_node”属性。例如,当我点击“Annie”时,我想检索根li,在她的例子中是“mCat1”,并提取脚本中要使用的“p_node”的值。我怎样才能做到这一点?谢谢你的帮助

    以下是无序列表:

    <ul id="nav>
      <li type="root" p_node="39">Cat 2
         <ul>
            <li><a>sub cat2</a></li>
         </ul>
      </li>
      <li type="root" p_node="40">mCat1
          <ul>
             <li>Subcat A
                <ul>
                   <li>Subcat A.1
                      <ul>
                         <li><a>Annie</a></li>
                      </ul>
                   </li>
                </ul>
              </li>
            </ul>
       </li>
     </ul>
    
    试试这个:

    $(clickReceiver).parents("li:last").attr('p_node')
    
    试试这个:

    $(clickReceiver).parents("li:last").attr('p_node')
    

    明亮的工作完美。谢谢你的帮助。jQ选择器非常出色。他们成功地在DOM上的每个元素之间创建了一种“六度分离”。太棒了!工作完美。谢谢你的帮助。jQ选择器非常出色。他们已经设法在DOM上的每个元素之间创建了一种“六度分离”。这相当密集,如果你解释一下这里发生了什么会有所帮助。这并不密集,他试图用问题的代码提供答案。如果你提取出重要的部分,这个答案与morgancodes的答案基本上是一样的,除了他使用的是最近的而不是父母,更具体地说是针对
    li
    ,使用
    type=root
    -
    $(clickReceiver)。最近的('li[type=root]')。attr('p_node')谢谢佩特森迪特。这也很有效…感谢你的帮助。这相当复杂,如果你解释一下这里发生了什么会有帮助。这并不复杂,他试图用问题的代码提供答案。如果你提取出重要的部分,这个答案与morgancodes的答案基本上是一样的,除了他使用的是最近的而不是父母,更具体地说是针对
    li
    ,使用
    type=root
    -
    $(clickReceiver)。最近的('li[type=root]')。attr('p_node')谢谢佩特森迪特。这也很有效…感谢你的帮助。
    
    $('#nav li:not(:has(li))>a').toggle(function() {
        //show stuff
        var parentEls = $(this).closest('li[type=root]').attr('p_node');
    }, function() {
        //close stuff
    });