获取“td”元素的jquery索引

时间:2012-05-16 07:28:02

标签: jquery

我有标记

 <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的索引? 感谢

2 个答案:

答案 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选择器中选择的输入的父级。