Javascript get the text value of a column from a particular row of an html table

前端 未结 2 1115
说谎
说谎 2020-12-14 10:02

A user clicks on a row of a table, and I want to get (in Javascript) the innerhtml of let\'s say the 3rd column of that row.

Something like :

documen         


        
相关标签:
2条回答
  • 2020-12-14 10:11

    in case if your table has tbody

    let tbl = document.getElementById("tbl").getElementsByTagName('tbody')[0];
    console.log(tbl.rows[0].cells[0].innerHTML)
    
    0 讨论(0)
  • 2020-12-14 10:14
    document.getElementById("tblBlah").rows[i].columns[j].innerHTML;
    

    Should be:

    document.getElementById("tblBlah").rows[i].cells[j].innerHTML;
    

    But I get the distinct impression that the row/cell you need is the one clicked by the user. If so, the simplest way to achieve this would be attaching an event to the cells in your table:

    function alertInnerHTML(e)
    {
        e = e || window.event;//IE
        alert(this.innerHTML);
    }
    
    var theTbl = document.getElementById('tblBlah');
    for(var i=0;i<theTbl.length;i++)
    {
        for(var j=0;j<theTbl.rows[i].cells.length;j++)
        {
            theTbl.rows[i].cells[j].onclick = alertInnerHTML;
        }
    }
    

    That makes all table cells clickable, and alert it's innerHTML. The event object will be passed to the alertInnerHTML function, in which the this object will be a reference to the cell that was clicked. The event object offers you tons of neat tricks on how you want the click event to behave if, say, there's a link in the cell that was clicked, but I suggest checking the MDN and MSDN (for the window.event object)

    0 讨论(0)
提交回复
热议问题