从特定列获取值

时间:2013-08-24 06:41:22

标签: javascript jquery css html-table

我正在尝试在点击每列时提醒消息。我有一个表格,其中有三行和四列,现在我想要在每个表的第三列点击上显示下一列值的警报消息。我试过这个但是所有列的值都不是特定的列。我的问题是这是在每个列单击时调用,但我只想在第三列单击每一行时发出警告消息。

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

7 个答案:

答案 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());
});