如何在javascript或jquery中获取容器ID

Nev*_*vin 0 html javascript jquery

我有一些HTML块看起来像

<li id="item261">
    <div class="itemdesc">
      <a class="icon-hide">Hide</a>
    </div>
</li>
Run Code Online (Sandbox Code Playgroud)

我有一个类似的jquery

$(document).ready(function()
{
$('.icon-hide').click(function(){
          var elemId = $(this).parent().attr("id");         
    });
});
Run Code Online (Sandbox Code Playgroud)

点击".icon-hide",我需要"li"标签的ID.我怎么能做到这一点?任何帮助..

Dav*_*mas 6

我建议:

$('.icon-hide').click(function(){
    var elemId = $(this).closest('li').attr('id');
});
Run Code Online (Sandbox Code Playgroud)

这是因为parent()正如方法名称所暗示的那样,查看选择器返回的元素的元素(父元素是div); 然后closest()继续向上祖先树以匹配传递给方法的第一个选择器.

相反,您可以使用和parents()之间的重要区别是返回零或一个匹配,而将一直继续到根元素并返回它找到的每个匹配,因此它可以返回零,一个或多个匹配.closest()parents()closest()parents()

另一个区别是parents()从当前元素的父元素开始搜索,而closest()从当前元素本身开始,因此很容易使用closest()该方法返回当前$(this)元素本身.

参考文献: