jQuery .attr()方法返回undefined

时间:2012-07-24 07:49:56

标签: jquery undefined attr

<ul id="footernav">
    <li><a href="javascript:void(0);" id="chat" data-icon="custom" data-transition="none">Tools</a></li>
    <li><a href="javascript:void(0);" id="email" data-icon="custom" data-transition="none">My Ride</a></li>
    <li><a href="javascript:void(0);" id="login" data-icon="custom" data-transition="none">News</a></li>
    <li><a href="javascript:void(0);" id="skull" data-icon="custom" data-transition="none">Cool</a></li>
    <li><a href="javascript:void(0);" id="coffee" data-icon="custom" data-transition="none" class"ui-btn-active ui-state-persist">Contact</a></li>
</ul>

现在我正在使用这个jQuery函数来获取我点击的id的{​​{1}}:

li

但它会返回$('#footernav li').click(function(){ alert($(this).attr('id')); });

3 个答案:

答案 0 :(得分:10)

那是因为您的li没有ID

请改用此选择器:$('#footernav li a')

答案 1 :(得分:4)

因为你所在的li元素不在a标签上。

你应该听

$('#footernav li a').click(function(){
     alert($(this).attr('id'));

});

答案 2 :(得分:3)

这将帮助你

$('#footernav li').click(function(){                     
     alert($('a',this).attr('id'));                    
});