I have a following HTML :
<ul class="someclass">
<li id="1">
<button type="button" class="grey"></button>
</li>
<li id="2">
<button type="button" class="grey"></button>
</li>
<li id="44">
<button type="button" class="grey"></button>
</li>
<li id="54">
<button type="button" class="grey"></button>
</li>
</ul>
现在我想用jquery实现的功能是:
当点击按钮时,查找父级
li
的id
,这是我的尝试但失败了:
当按钮被点击时,寻找父级li
的id
,以下是我的尝试但失败了:
$(".grey").live('click', function(){
alert($(this).parents("li").attr("id"));
alert($(this).parents("li:first").attr("id"));
});
两个都给我返回了null
,我该怎么办?
问题更新
啊,是的,我忘记提到这个按钮元素
不是在li
标签中,它是在li
被hovered
时使用append
动态创建的。我写了这个示例只是为了让你明白我在尝试什么。
另一个更新:
当我尝试只用$(this).closest("li");
时,我得到的是[object Object]
,但如果我添加attr("id");
,我会得到null
。
<li>
内部,closest
就应该起作用。尝试警报$(this).parent()[0].nodeName
。 - SLaks