首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >insertRow JavaScript未被识别

insertRow JavaScript未被识别
EN

Stack Overflow用户
提问于 2014-12-09 03:48:30
回答 2查看 22.3K关注 0票数 2

我刚接触过javascript,但仍然倾向于自己解决一个问题。但是,我感到沮丧,因为相同的函数适用于没有tbodythead的稍微不同的HTML。

我得到的错误是-> Uncaught :无法读取属性'insertRow‘的null。

我哪里错了?另外,是否还有更好的方法来添加表行?我试过.append,但对我没有用。

HTML

代码语言:javascript
复制
<table class="table table-striped myTable">
    <button class="btn btn-primary btn-lg" id="addTableRow">Add table row</button>
    <thead>
        <tr>
            <th>Name</th>
            <th>Surname</th>
            <th>Email</th>
            <th>City</th>
            <th>Sex</th>
            <th>Date</th>
            <th>Time</th>
        </tr>
    </thead>
    <tbody> 
        <tr id="firstRow">
            <td>John</td>
            <td>Morgan</td>
            <td>mail@mail.com</td>
            <td>London</td>
            <td>Male</td>
            <td>09.12.14</td>
            <td>04:17 a.m.</td>
        </tr>
    </tbody>
</table>

JavaScript

代码语言:javascript
复制
$("#addTableRow").click( function(){

var table = document.getElementById("myTable");
var row = table.insertRow(0);

var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
var cell4 = row.insertCell(3);
var cell5 = row.insertCell(4);
var cell6 = row.insertCell(5);

cell1.innerHTML = "Text-1";
cell2.innerHTML = "Text-2";
cell3.innerHTML = "Text-3";
cell4.innerHTML = "Text-4";
cell5.innerHTML = "Text-5";
cell6.innerHTML = "Text-6";

});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-09 03:55:49

只需输入几个字,表中缺少ID,jQuery就会不正确地混在一起。

代码语言:javascript
复制
$("#addTableRow").click( function () {      
  var row = $("<tr>");

  row.append($("<td>Text-1</td>"))
     .append($("<td>Text-2</td>"))
     .append($("<td>Text-3</td>"))
     .append($("<td>Text-4</td>"))
     .append($("<td>Text-5</td>"))
     .append($("<td>Text-6</td>"))
     .append($("<td>Text-7</td>"));
 
  $("#myTable tbody").append(row);
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<table id="myTable" class="table table-striped myTable">
            <button class="btn btn-primary btn-lg" id="addTableRow">Add table row</button>
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Surname</th>
                    <th>Email</th>
                    <th>City</th>
                    <th>Sex</th>
                    <th>Date</th>
                    <th>Time</th>
                </tr>
            </thead>
            <tbody> 
                <tr id="firstRow">
                    <td>John</td>
                    <td>Morgan</td>
                    <td>mail@mail.com</td>
                    <td>London</td>
                    <td>Male</td>
                    <td>09.12.14</td>
                    <td>04:17 a.m.</td>
                </tr>
            </tbody>
        </table>

票数 7
EN

Stack Overflow用户

发布于 2018-02-11 16:37:48

与这个问题没有严格的关联,但是我在这里结束了"Uncaught : table.insertRow不是一个函数“的错误。你可能也有同样的问题。如果是的话:

如果你想用

代码语言:javascript
复制
row.insertCell(0); 

如果收到前一个错误,请确保不要使用jquery获得元素:

请勿

代码语言:javascript
复制
let table = $("#peopleTable");
let newRow = table.insertRow(0);

代码语言:javascript
复制
let table = document.getElementById("peopleTable");
let newRow = table.insertRow(0);
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27371109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档