1

我有一些 HTML 块看起来像

<li id="item261">
    <div class="itemdesc">
      <a class="icon-hide">Hide</a>
    </div>
</li>

我有一个像

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

单击“.icon-hide”时,我需要“li”标签的 ID。我怎样才能做到这一点?任何帮助..

4

2 回答 2

7

我建议:

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

这是因为parent()方法名称中隐含着查看选择器返回的元素的div元素(父元素是);而closest()继续沿着祖先树匹配传递给方法的第一个选择器。

您可以改为使用,但是andparents()之间的重要区别是返回零或一个匹配项,而将一直持续到根元素并返回它找到的每个匹配项,因此它可以返回零个、一个或多个匹配项。closest()parents()closest()parents()

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

参考:

于 2012-10-08T11:08:28.640 回答
0
$(this).closest('li[id]').attr('id')
于 2012-10-08T11:09:04.287 回答