Getting value from table cell in JavaScript…not jQuery

后端 未结 12 1120
后悔当初
后悔当初 2020-12-02 18:19

I can\'t believe how long this has taken me but I can\'t seem to figure out how to extract a cell value from an HTML table as I iterate through the table with JavaScript. I

相关标签:
12条回答
  • 2020-12-02 18:49

    Guess I'm going to answer my own questions....Sarfraz was close but not quite right. The correct answer is:

    alert(col.firstChild.value);
    
    0 讨论(0)
  • 2020-12-02 18:49
    <script>
        $('#tinh').click(function () {
            var sumVal = 0;
            var table = document.getElementById("table1");
    
            for (var i = 1; i < (table.rows.length-1); i++) {
                sumVal = sumVal + parseInt(table.rows[i].cells[3].innerHTML);
            }
    
    
            document.getElementById("valueTotal").innerHTML = sumVal;
        });
    </script>
    
    0 讨论(0)
  • 2020-12-02 18:52
    function GetCellValues() {
        var table = document.getElementById('mytable');
        for (var r = 0, n = table.rows.length; r < n; r++) {
            for (var c = 0, m = table.rows[r].cells.length; c < m; c++) {
                alert(table.rows[r].cells[c].innerHTML);
            }
        }
    }
    
    0 讨论(0)
  • 2020-12-02 18:52

    The code yo have provided runs fine. Remember that if you have your code in the header, you need to wait for the dom to be loaded first. In jQuery it would just be as simple as putting your code inside $(function(e){...});

    In normal javascript use window.onLoad(..) or the like... or have the script after the table defnition (yuck!). The snippet you provided runs fine when I have it that way for the following:

    <html>
    <head>
      <meta http-equiv="content-type" content="text/html; charset=windows-1250">
      <meta name="generator" content="PSPad editor, www.pspad.com">
      <title></title>
    </head>
    <body>
      <table id='ddReferences'>
        <tr>
          <td>dfsdf</td> 
          <td>sdfs</td>
          <td>frtyr</td>
          <td>hjhj</td>
        </tr>
      </table>
    
    <script>
    var refTab = document.getElementById("ddReferences")
    var  ttl;
    // Loop through all rows and columns of the table and popup alert with the value
    // /content of each cell.
    for ( var i = 0; row = refTab.rows[i]; i++ ) {
       row = refTab.rows[i];
       for ( var j = 0; col = row.cells[j]; j++ ) {
          alert(col.firstChild.nodeValue);
       }
    }
    
    </script>
    </body>
    </html>
    
    0 讨论(0)
  • 2020-12-02 18:53

    Try this out: alert(col.firstChild.data)

    Check this out for the difference between nodeValue and data: When working with text nodes should I use the "data", "nodeValue", "textContent" or "wholeText" field?

    0 讨论(0)
  • 2020-12-02 18:54

    confer below code


    <html>
    <script>
    
    
        function addRow(){
     var table = document.getElementById('myTable');
    //var row = document.getElementById("myTable");
    var x = table.insertRow(0);
    var e =table.rows.length-1;
    var l =table.rows[e].cells.length;
    //x.innerHTML = "&nbsp;";
     for (var c =0,  m=l; c < m; c++) {
    table.rows[0].insertCell(c);
       table.rows[0].cells[c].innerHTML  = "&nbsp;&nbsp;";
    }
    
    }
    
    
    
    
    function addColumn(){
           var table = document.getElementById('myTable');
            for (var r = 0, n = table.rows.length; r < n; r++) {
                    table.rows[r].insertCell(0);
                    table.rows[r].cells[0].innerHTML =  "&nbsp;&nbsp;" ;
    
            }
    
        }
    
    function deleteRow() {
        document.getElementById("myTable").deleteRow(0);
    
    }
    
    function deleteColumn() {
       // var row = document.getElementById("myRow");
     var table = document.getElementById('myTable');
     for (var r = 0, n = table.rows.length; r < n; r++) {
        table.rows[r].deleteCell(0);//var table handle 
    }
    }
    
    </script>
    <body>
    <input type="button" value="row +" onClick="addRow()" border=0       style='cursor:hand'>
        <input type="button" value="row -" onClick='deleteRow()' border=0 style='cursor:hand'>
        <input type="button" value="column +" onClick="addColumn()" border=0 style='cursor:hand'>
        <input type="button" value="column -" onClick='deleteColumn()' border=0 style='cursor:hand'>
    
        <table  id='myTable' border=1 cellpadding=0 cellspacing=0>
     <tr id='myRow'>          
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    <tr>          
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    
        </table>
    
    
    
    </body>
    </html>
    

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