我有一些HTML块看起来像
<li id="item261">
<div class="itemdesc">
<a class="icon-hide">Hide</a>
</div>
</li>
我有一个类似
的jquery$(document).ready(function()
{
$('.icon-hide').click(function(){
var elemId = $(this).parent().attr("id");
});
});
点击“.icon-hide”时,我需要“li”标签的ID。我怎么能做到这一点?任何帮助..
答案 0 :(得分:6)
我建议:
$('.icon-hide').click(function(){
var elemId = $(this).closest('li').attr('id');
});
这是因为方法名称中隐含的parent()
会查看选择器返回的元素的父(父级是div
);而closest()
继续向上祖先树以匹配传递给方法的第一个选择器。
您可以使用parents()
,但closest()
和parents()
之间的重要区别在于closest()
返回零或一个匹配,parents()
将继续一直到根元素并返回它找到的每个匹配,因此它可以返回零,一个或多个匹配。
另一个区别是parents()
从当前元素的父元素开始搜索,而closest()
从当前元素本身开始,因此很容易使用closest()
方法返回当前/ $(this)
元素本身。
参考文献:
答案 1 :(得分:0)
$(this).closest('li[id]').attr('id')