admin管理员组

文章数量:1406322

<script type="text/javascript" language="javascript">
 function addNewRow()
 {
    var table = document.getElementById("table1");
    var tr = table.insertRow();
    var td = tr.insertCell();
    td.innerHTML= "a";

    td = tr.insertCell();
    td.innerHTML= "b";
    
    td = tr.insertCell();
    td.innerHTML= "c";
    
    td = tr.insertCell();
    td.innerHTML= "d";
    
    td = tr.insertCell();
    td.innerHTML= "e";
 }
</script>
<body>
    <table id="table1" border="1" cellpadding="0" cellspacing="0" width="100%">
        <tr id="row1">
            <td>1</td>
            <td>2</td>
            <td>3</td>
            <td>4</td>
            <td>5</td>
        </tr>
    </table>
    <input type="button" onClick="addNewRow()" value="Add New"/>
</body>

This example is for dynamically insert new row and cells in the table. But its behavior is different in all browsers.

  1. Internet Explorer = It add row in the last and new added cells are starts from first.

  2. Chrome/Safari = It add new row in the first and new added cells are starts from end.

  3. Mozilla Firefox = It is not working.

    I want new added row in the last and new added cells starts from first like (Internet Explorer) in all browsers.

If you have any solution for same behavior please tell me.

<script type="text/javascript" language="javascript">
 function addNewRow()
 {
    var table = document.getElementById("table1");
    var tr = table.insertRow();
    var td = tr.insertCell();
    td.innerHTML= "a";

    td = tr.insertCell();
    td.innerHTML= "b";
    
    td = tr.insertCell();
    td.innerHTML= "c";
    
    td = tr.insertCell();
    td.innerHTML= "d";
    
    td = tr.insertCell();
    td.innerHTML= "e";
 }
</script>
<body>
    <table id="table1" border="1" cellpadding="0" cellspacing="0" width="100%">
        <tr id="row1">
            <td>1</td>
            <td>2</td>
            <td>3</td>
            <td>4</td>
            <td>5</td>
        </tr>
    </table>
    <input type="button" onClick="addNewRow()" value="Add New"/>
</body>

This example is for dynamically insert new row and cells in the table. But its behavior is different in all browsers.

  1. Internet Explorer = It add row in the last and new added cells are starts from first.

  2. Chrome/Safari = It add new row in the first and new added cells are starts from end.

  3. Mozilla Firefox = It is not working.

    I want new added row in the last and new added cells starts from first like (Internet Explorer) in all browsers.

If you have any solution for same behavior please tell me.

Share Improve this question edited Jun 20, 2020 at 9:12 CommunityBot 11 silver badge asked Jun 16, 2010 at 7:14 Karandeep SinghKarandeep Singh 1,2796 gold badges22 silver badges34 bronze badges 2
  • So far, Stonedecroze's answer is most correct. You could spend weeks trying to get this to work on 3 or 4 browsers. Or you could follow the hyperlink and have a jQuery version running in a few minutes -- with much better assurance that it will work on as many browsers as possible. – Brock Adams Commented Jun 16, 2010 at 8:20
  • You might find this useful: [stackoverflow./questions/171027/add-table-row-in-jquery][1] [1]: stackoverflow./questions/171027/add-table-row-in-jquery – Silver Gonzales Commented Jul 24, 2012 at 18:17
Add a ment  | 

1 Answer 1

Reset to default 3

try to use:

var tr = table.insertRow(-1);

like its said here:

https://developer.mozilla/en/DOM/table.insertRow

本文标签: javascriptDynamically insert new rows in the tableStack Overflow