我有标记
<table>
<tr id="1">
<td colspan="4">
<p class="que">
1. Who are you?</p>
</td>
</tr>
<tr class="ans">
<td>
<input type="checkbox" />Student
</td>
<td>
<input type="checkbox" checked="true" />Developer
</td>
<td>
<input type="checkbox" />Other
</td>
<td>
<input type="text" />
</td>
</tr>
</table>
这里我想得到检查其复选框的特定td的索引。例如,它应该是1.但我每次都得到0,这似乎是行的索引。 这是我使用的jquery代码。
var answers = $('table tr.ans');
$.each(answers, function () {
var answer = $(this).find("input[type='checkbox']:checked").index();
alert(answer);
});
这是fiddle 如何获取特定td的索引? 感谢
答案 0 :(得分:14)
你可以用
完成$("table tr.ans input[type='checkbox']:checked").parent().index();
您只需要从复选框导航回<td>
,此时直接调用.index
即可:
如果没有将参数传递给.index()方法,则返回值为 一个整数,表示第一个元素在其中的位置 jQuery对象相对于它的兄弟元素。
<强> See it in action 强>
由于你是在一个循环中这样做的,因此更适合
var answer = $(this).find("input[type='checkbox']:checked").parent().index();
答案 1 :(得分:2)
将行更改为:
var answer = $(this).find("input[type='checkbox']:checked").parent().index();
这将为您提供td
的索引,该索引是您在jquery选择器中选择的输入的父级。