Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中在HTML表体中插入行_Javascript_Html_Html Table_Insert_Row - Fatal编程技术网

如何在JavaScript中在HTML表体中插入行

如何在JavaScript中在HTML表体中插入行,javascript,html,html-table,insert,row,Javascript,Html,Html Table,Insert,Row,我有一个带有页眉和页脚的HTML表格: <table id="myTable"> <thead> <tr> <th>My Header</th> </tr> </thead> <tbody> <tr> <td>aaaaa</td>

我有一个带有页眉和页脚的HTML表格:

<table id="myTable">
    <thead>
        <tr>
            <th>My Header</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>aaaaa</td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <td>My footer</td>
        </tr>
    <tfoot>
</table>
但是该行被添加到
tfoot
部分


如何插入
tbody

您可以使用以下代码片段:

$(表).find('tbody').append('aaaa');

我认为这个脚本正是您需要的

var t = document.getElementById('myTable');
var r =document.createElement('TR');
t.tBodies[0].appendChild(r)

如果要将行添加到
tbody
,请获取对该行的引用并调用其方法

var tbodyRef=document.getElementById('myTable').getElementsByTagName('tbody')[0];
//在表的末尾插入一行
var newRow=tbodyRef.insertRow();
//在行的末尾插入一个单元格
var newCell=newRow.insertCell();
//将文本节点附加到单元格
var newText=document.createTextNode(“新行”);
appendChild(newText)

我的头球
首行
我的页脚

我已经试过了,这对我很有效:

var table = document.getElementById("myTable");
var row = table.insertRow(myTable.rows.length-2);
var cell1 = row.insertCell(0);

你很接近。只需将该行添加到
tbody
而不是
表中

myTbody.insertRow();
在使用之前,只需获取对
tBody
myTbody
)的引用即可。注意,您不需要通过表中的最后一个位置;省略参数时,它会自动定位在末尾

.

添加行:


函数addRow(){
var table=document.getElementById('myTable');
//var row=document.getElementById(“myTable”);
var x=表.插入行(0);
var e=表.rows.length-1;
var l=table.rows[e].cells.length;
//x、 innerHTML=“”;
对于(var c=0,m=l;c
基本方法:

这将添加HTML格式的内容并显示新添加的行

var myHtmlContent = "<h3>hello</h3>"
var tableRef = document.getElementById('myTable').getElementsByTagName('tbody')[0];

var newRow = tableRef.insertRow(tableRef.rows.length);
newRow.innerHTML = myHtmlContent;
var myHtmlContent=“你好”
var tableRef=document.getElementById('myTable').getElementsByTagName('tbody')[0];
var newRow=tableRef.insertRow(tableRef.rows.length);
newRow.innerHTML=myHtmlContent;

您可以使用以下示例:

<table id="purches">
    <thead>
        <tr>
            <th>ID</th>
            <th>Transaction Date</th>
            <th>Category</th>
            <th>Transaction Amount</th>
            <th>Offer</th>
        </tr>
    </thead>

    <!--  <tr th:each="person: ${list}"    >
            <td><li th:each="person: ${list}" th:text="|${person.description}|"></li></td>
            <td><li th:each="person: ${list}" th:text="|${person.price}|"></li></td>
            <td><li th:each="person: ${list}" th:text="|${person.available}|"></li></td>
            <td><li th:each="person: ${list}" th:text="|${person.from}|"></li></td>
            </tr>
    -->

    <tbody id="feedback">
    </tbody>
</table>

身份证件
交易日期
类别
交易金额
提供
JavaScript文件:

$.ajax({
    type: "POST",
    contentType: "application/json",
    url: "/search",
    data: JSON.stringify(search),
    dataType: 'json',
    cache: false,
    timeout: 600000,
    success: function (data) {
        //  var json = "<h4>Ajax Response</h4><pre>"  + JSON.stringify(data, null, 4) + "</pre>";
        // $('#feedback').html(json);
        //
        console.log("SUCCESS: ", data);
        //$("#btn-search").prop("disabled", false);

        for (var i = 0; i < data.length; i++) {
            //$("#feedback").append('<tr><td>' + data[i].accountNumber + '</td><td>' + data[i].category + '</td><td>' + data[i].ssn + '</td></tr>');
            $('#feedback').append('<tr><td>' + data[i].accountNumber + '</td><td>' + data[i].category + '</td><td>' + data[i].ssn + '</td><td>' + data[i].ssn + '</td><td>' + data[i].ssn + '</td></tr>');

            alert(data[i].accountNumber)
        }
    },
    error: function (e) {
        var json = "<h4>Ajax Response</h4><pre>" + e.responseText + "</pre>";
        $('#feedback').html(json);

        console.log("ERROR: ", e);
        $("#btn-search").prop("disabled", false);
    }
});
$.ajax({
类型:“POST”,
contentType:“应用程序/json”,
url:“/search”,
数据:JSON.stringify(搜索),
数据类型:“json”,
cache:false,
超时:600000,
成功:功能(数据){
//var json=“Ajax Response”+json.stringify(数据,null,4)+”;
//$('#feedback').html(json);
//
console.log(“成功:”,数据);
//$(“#btn搜索”).prop(“禁用”,false);
对于(变量i=0;i
添加列、添加行、删除列、删除行最简单的方法

函数addColumn(myTable){
var table=document.getElementById(myTable);
var row=table.getElementsByTagName('tr');
对于(i=0;i

开支追踪器
开支追踪器
姓名:


日期: 数量:

增加费用
名称 日期 数量 删除 麦当劳 6/22/2017 $12.00 函数deleteRow(r){ var i=r.parentNode.parentNode.rowIndex; document.getElementById(“myTable”).deleteRow(i); } 函数addRows(){ log(“添加行”); document.getElementById(“myTable”).innerHTML+=` 麦当劳 6/22/2017 $12.00 `; }
let myTable=document.getElementById('myTable').getElementsByTagName('tbody')[0];
让row=myTable.insertRow();
设cell1=row.insertCell(0);
设cell2=row.insertCell(1);
设cell3=row.insertCell(2);
cell1.innerHTML=1;
cell2.innerHTML='JAHID';
cell3.innerHTML=23;
行=myTable.insertRow();
cell1=行插入单元格(0);
cell2=行插入单元格(1);
cell3=行插入单元格(2);
cell1.innerHTML=2;
cell2.innerHTML='hossaein';
cell3.innerHTML=50;
表格{
边界塌陷:塌陷;
}
td,th{
边框:1px实心#000;
填充:10px;
}

身份证件
名称
年龄
<table id="purches">
    <thead>
        <tr>
            <th>ID</th>
            <th>Transaction Date</th>
            <th>Category</th>
            <th>Transaction Amount</th>
            <th>Offer</th>
        </tr>
    </thead>

    <!--  <tr th:each="person: ${list}"    >
            <td><li th:each="person: ${list}" th:text="|${person.description}|"></li></td>
            <td><li th:each="person: ${list}" th:text="|${person.price}|"></li></td>
            <td><li th:each="person: ${list}" th:text="|${person.available}|"></li></td>
            <td><li th:each="person: ${list}" th:text="|${person.from}|"></li></td>
            </tr>
    -->

    <tbody id="feedback">
    </tbody>
</table>
$.ajax({
    type: "POST",
    contentType: "application/json",
    url: "/search",
    data: JSON.stringify(search),
    dataType: 'json',
    cache: false,
    timeout: 600000,
    success: function (data) {
        //  var json = "<h4>Ajax Response</h4><pre>"  + JSON.stringify(data, null, 4) + "</pre>";
        // $('#feedback').html(json);
        //
        console.log("SUCCESS: ", data);
        //$("#btn-search").prop("disabled", false);

        for (var i = 0; i < data.length; i++) {
            //$("#feedback").append('<tr><td>' + data[i].accountNumber + '</td><td>' + data[i].category + '</td><td>' + data[i].ssn + '</td></tr>');
            $('#feedback').append('<tr><td>' + data[i].accountNumber + '</td><td>' + data[i].category + '</td><td>' + data[i].ssn + '</td><td>' + data[i].ssn + '</td><td>' + data[i].ssn + '</td></tr>');

            alert(data[i].accountNumber)
        }
    },
    error: function (e) {
        var json = "<h4>Ajax Response</h4><pre>" + e.responseText + "</pre>";
        $('#feedback').html(json);

        console.log("ERROR: ", e);
        $("#btn-search").prop("disabled", false);
    }
});
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <link rel="stylesheet" type="text/css" href="css/style.css" />
    <title>Expense Tracker</title>
  </head>
  <body>
    <h1>Expense Tracker</h1>

    <div id="myDiv">
      <label for="name">Name:</label>
      <input
        type="text"
        name="myInput"
        id="myInput"
        placeholder="Name of expense"
        size="50"
      /><br /><br />
      <label for="date">Date:</label>
      <input type="date" id="myDate" name="myDate" />
      <label for="amount">Amount:</label>
      <input
        type="text"
        name="myAmount"
        id="myAmount"
        placeholder="Dollar amount ($)"
      /><br /><br />
      <span onclick="addRow()" class="addBtn">Add Expense</span>
    </div>
    <br />
    <input type="button" value="Add Rows" onclick="addRows()" />
    <!-- Optional position -->
    <table id="myTable">
      <tr>
        <th>Name</th>
        <th>Date</th>
        <th>Amount</th>
        <th>Delete</th>
      </tr>
      <tr>
        <td>McDonald's</td>
        <td>6/22/2017</td>
        <td>$12.00</td>
        <td>
          <input type="button" value="Delete" onclick="deleteRow(this)" />
        </td>
      </tr>
    </table>

    <script>
      function deleteRow(r) {
        var i = r.parentNode.parentNode.rowIndex;
        document.getElementById("myTable").deleteRow(i);
      }
      function addRows() {
        console.log("add rows");
        document.getElementById("myTable").innerHTML += `<tr>
        <td>McDonald's</td>
        <td>6/22/2017</td>
        <td>$12.00</td>
        <td>
          <input type="button" value="Delete" onclick="deleteRow(this)" />
        </td>
      </tr>`;
      }
    </script>
  </body>
</html>