jQuery each()只返回第一个找到的值

时间:2012-04-15 15:16:14

标签: jquery

我正在尝试从我的父div中获取ID

<div id="btn1"><label class="btn"><input type="submit" value="Submit"/></label></div>
<div id="btn2"><label class="btn"><input type="button" value="Add"/></label></div>

jQuery函数:

$('.btn').each(function () {
    alert($('.btn').parent().attr("id"));
});

该函数返回值'btn1'两次。它应该返回'btn1','btn2'。

提前致谢。

1 个答案:

答案 0 :(得分:3)

您在循环中再次使用.btn的选择器。使用this

更改它以引用当前元素
$('.btn').each(function () {
    alert($(this).parent().attr("id"));
});

编辑:

根据jfriend00

  

这里没有理由使用三个jQuery函数调用。   只有在更好地完成工作时才应该使用jQuery。

以及其中一些常见情况的参考: https://stackoverflow.com/a/4652402/803739