为什么此警报“未定义”而不是链接ID?我确实得到'未定义'5次,所以我知道它正确地循环它们,但它没有显示像'Cripple'等名称。
$(function () {
$("#divPlayerActions").children("a").each(function () {
var e = $(this);
alert(e.id); // undefined ?
});
}
<div id="divPlayerActions" class="col-md-6 text-center">
<a href="#" class="action" data-cd="0" data-cast="0" id='Cripple'> <img src="/Content/cripple.png" /> </a>
<a href="#" class="action" data-cd="0" data-cast="0" id='GroundSlam'> <img src="/Content/ground_slam.png" /> </a>
<a href="#" class="action" data-cd="0" data-cast="0" id='HealingStar'> <img src="/Content/healing_star.png" /> </a>
<a href="#" class="action" data-cd="0" data-cast="0" id='LighteningStrike'> <img src="/Content/lightening_strike.png" /> </a>
<a href="#" class="action" data-cd="0" data-cast="0" id='PoisonBite'> <img src="/Content/poison_bite.png" /> </a>
</div>
答案 0 :(得分:3)
您需要从jQuery对象中撤消本机JS DOM元素对象:
alert( e[0].id );
或只是做
alert( this.id );
或使用jQuery:
alert( e.prop("id") ); /* this one */
alert( e.get(0).id; ); /* or this one */
alert( e.attr("id") ); /* or this one */
或通过jQuery this
参数传递.each(index, element)
目标标识符:
$("#divPlayerActions").children("a").each(function (i, e) {
alert(e.id); // Cripple // GroundSlam // HealingStar .....
});
答案 1 :(得分:1)
如果你想用jQuery获取这个值,只需将其作为属性抓取:
e.attr('id');
答案 2 :(得分:1)
尝试使用此代码检索元素ID
$(function () {
$("#divPlayerActions").children("a").each(function () {
var e = $(this);
alert( e.prop("id"));
});
}