我正在尝试在点击每列时提醒消息。我有一个表格,其中有三行和四列,现在我想要在每个表的第三列点击上显示下一列值的警报消息。我试过这个但是所有列的值都不是特定的列。我的问题是这是在每个列单击时调用,但我只想在第三列单击每一行时发出警告消息。
HTML
<table id='myTable'>
<tr><td>R1C1</td><td>R1C2</td><td>R1C3</td><td>R1C4</td></tr>
<tr><td>R2C1</td><td>R2C2</td><td>R2C3</td><td>R2C4</td></tr>
<tr><td>R3C1</td><td>R3C2</td><td>R3C3</td><td>R3C4</td></tr>
</table>
JS
$("#myTable tr").bind("click", function () {
alert($(this).children("td").eq(3).html());
});
演示Here
答案 0 :(得分:3)
请尝试此代码
$(document).ready(function () {
$('#myTable tr').each(function (Mindex, Mval) {
$(Mval).find('td:eq(2)').click(function () {
alert($(Mval).find('td:eq(3)').html());
});
});
答案 1 :(得分:1)
$("#myTable tr td:nth-child(3)").click(function () {
alert($(this).next().html());
});
答案 2 :(得分:1)
试试这个
$('table#myTable tr td:nth-child(3)').on('click', function() {
alert($(this).next().html());
});
检查Here
答案 3 :(得分:1)
试试这个:
$('#myTable').children('tr').children('td').eq(3).on('click', function() {
alert($(this).next().html());
});
上述函数确保您调用直接子元素,而不是任何嵌套的其他相同元素。解决未来的回归问题。
答案 4 :(得分:1)
如果您的桌子将保持相同的大小,那么答案已经有效。如果你的桌子会增长,我建议做一些事件委托。如果有大量的事件监听器,它将大大加快页面的速度。
$('#myTable').on('click', 'td:nth-child(3)', function(){
alert($(this).text());
});
请参阅此jsfiddle和此jquery documentation。
答案 5 :(得分:0)
下面的代码将找到并设置所需的列值
$('#myTable tr:gt(0)').each(function(){
// console.log($('td:eq(3)', $(this)).html());
alert($('td:eq(3)', $(this)).html());
$('#myTable').find('tr:gt(0)').find('td:eq(3)').html("hello");
});
答案 6 :(得分:-1)
试试这个:
var thirdEle = $("#myTable tr td:nth-child(3)");
thirdEle.bind("click", function () {
alert($(this).html());
});