从特定列中获取值

Get the value from a particular column

本文关键字:获取      更新时间:2023-09-26

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

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

此处演示

请尝试此代码

 $(document).ready(function () {
            $('#myTable tr').each(function (Mindex, Mval) {
                $(Mval).find('td:eq(2)').click(function () {
                    alert($(Mval).find('td:eq(3)').html());
                });
            });

试试这个

 $('table#myTable tr td:nth-child(3)').on('click', function() {
            alert($(this).next().html());
        });

检查此处

$("#myTable tr td:nth-child(3)").click(function () {
     alert($(this).next().html());
});

试试这个:

 $('#myTable').children('tr').children('td').eq(3).on('click', function() {
     alert($(this).next().html());
 });

上面的函数确保您调用的是直接子元素,而不是任何嵌套的其他相同元素。解决未来的倒退。

如果您的表要保持相同的大小,那么已经有了有效的答案。如果你的席位要增加,我建议你参加一些活动代表团。如果有大量的事件侦听器,它将大大加快页面的速度。

$('#myTable').on('click', 'td:nth-child(3)', function(){
    alert($(this).text());
});

请参阅这个jsfiddle和这个jquery文档。

下面的代码将找到并设置所需的列值

$('#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");
    });

试试这个:

var thirdEle = $("#myTable tr td:nth-child(3)");
thirdEle.bind("click", function () {
    alert($(this).html());
});