jQuery有一个
我试图找到<td>
在<tr>
中的顺序。我有一个类似的表格结构
<table>
<tbody>
<tr>
<th> Name </th>
<th> Edit </th>
<th> Delete </th>
<tr>
<tr>
<td> Tom </td>
<td> <i class="icon icon_edit"></i> </td>
<td> <i class="icon icon_remove"></i> </td>
<tr>
<tbody>
</table>
我必须使用<i class="icon icon_edit">
查找表头<th> Edit </th>
。我试图使用parents((找到它,但仍然没有找到任何方法来找到父<td>
在行中的位置。
我的逻辑是这样的
parentTD = $('.icon_edit').parents('td')
positionOfparentTD = 2 //Which i dont know how to
correspondingHeader = $("table th:eq(2)")
如何在jQuery中实现这一点?
index()
方法,它是零基的,但eq()
也是
var parentTD = $('.icon_edit').closest('td')
var positionOfparentTD = parentTD.index(); // 1
var correspondingHeader = $("table th:eq("+positionOfparentTD+")")
var tdIndex=$('.icon_edit').parent('td').index();
$("table th:eq('"+ tdIndex+"')");
Fiddle DEMO
尝试使用.index((,我建议您使用.closest((而不是.aparents((,
parentTD = $('.icon_edit').closest('td');
positionOfparentTD = parentTD.index();
correspondingHeader = $("table th:eq("+ positionOfparentTD +")")
我宁愿在头上使用一个类,因为如果有一天更改列的顺序,您的Javascript可能会忘记更新,因此将无法再工作。
以下是我要做的:
<table>
<thead>
<tr>
<th>Name</th>
<th class="edit-header">Edit</th>
<th>Delete</th>
<tr>
</thead>
<tbody>
<tr>
<td>Tom</td>
<td class="edit"><i class="icon icon_edit"></i></td>
<td><i class="icon icon_remove"></i></td>
<tr>
<tbody>
</table>
然后使用jQuery:
var $editHeader = $('.edit').parents('thead').find('.edit-header');
我在编辑单元上也添加了edit
类,因为图标类名可能也会更改。