代码之家  ›  专栏  ›  技术社区  ›  st4ck0v3rfl0w

使用jQuery查找包含元素的ID

  •  1
  • st4ck0v3rfl0w  · 技术社区  · 14 年前
    <li id="someID">
        <div id="div1">Text</div>
        <div id="div2">Text x 2</div>
        <div id="div3">Text x 3</div>
            <span>
                <div>
                    <ul>
                        <li class="menuItem">Menu Item</li>
                    </ul>
                </div>
            </span>
    </li>
    

    简而言之,我试图在单击类“menuItem”时找到ID“someID”。下面的代码似乎没有削减它。

    $('.menuItem').click(function(){alert($(this).closest('li').attr('id'));});
    
    4 回复  |  直到 14 年前
        1
  •  5
  •   Gabriele Petrioli    14 年前

    而不是 .closest('li'). .parents('li'). ( )

    甚至在会议上也提到了这一点 closest() 文档。。

        2
  •  2
  •   Carson63000    14 年前

    另一种方法是在试图识别的li上放置一个类,并使.closest()选择器更精确。

    <li class="master" id="someID">
        <div id="div1">Text</div>
        <div id="div2">Text x 2</div>
        <div id="div3">Text x 3</div>
            <span>
                <div>
                    <ul>
                        <li class="menuItem">Menu Item</li>
                    </ul>
                </div>
            </span>
    </li>
    
    $('.menuItem').click(function(){alert($(this).closest('li.master').attr('id'));});
    
        3
  •  1
  •   griegs    14 年前

    如果您需要父级,那么您可以使用.parent here

        4
  •  1
  •   guy schaller    14 年前

    你可以用。家长

    .parents("li") so it will return the li parent