我有一个由displaytags生成的表,它看起来如下。
<tbody>
<tr class="coldata">
<td>02063873320</td>
<td>ORD81268679</td>
<td>80%</td>
<td>6</td>
<td>84070063962913</td>
<td><img src="xyz"/></td>
</tr>
<tr>
.
.
.
</tr>
每一行在最后一个单元格中都有一个图像,当我点击单元格时,我想调用一个Jquery函数,该函数将该行中第5个单元格的值发送给一个动作类。
我想知道如何选择第5个单元格并将其作用于动作类。任何人都可以建议选择器和函数来调用动作类
答案 0 :(得分:1)
如果行都具有coldata
类,则可以使用:eq
获取第五个单元格(索引4),如下所示:
var fifthCells = $("tr.coldata td:eq(4)");
...然后挂钩他们的click
事件,然后从那里导航:
fifthCells.click(function() {
var $td = $(this); // The specific `td` that was clicked
// ...do something with that specific `td`
});
如果它不总是第五个单元格,但始终是 last 之前的单元格,则可以使用last-of-type
:
var lastCells = $("tr.coldata td:last-of-type").prev('td');
或者,如果它们之前是唯一具有img
元素的元素:
var cellsWithImages = $("tr.coldata td img").closest("td").prev('td');
......等等。
附注:如果表的内容是动态的(或者即使它们不是动态的话),使用委托的处理程序可能会很有用。以下是每行中第五个click
的委派td
处理程序:
// fifthCells
$("table.some-class").on("click", "tr.coldata td:eq(4)" function() {
// `this` is the DOM element for the td that was clicked
});