javascript - 在 JavaScript 中创建一个表

标签 javascript

我正在用 javascript 创建表格

HTML

<table class="table table-hover">
                    <tbody  id="deviceTable">
                       <tr>
                            <th>User Name</th>
                            <th>IMEI Number</th>
                            <th>Email</th>
                            <th>GPS Location</th>
                            <th>Action</th>
                        </tr>

                       </tbody>
                    </table>

JS

var td_name = document.createElement('td');
        var td_imei = document.createElement('td');
        var td_email = document.createElement('td');
        var td_location = document.createElement('td');
        var td_action = document.createElement('td');
        var id= document.getElementById("deviceTable");

        for(var i=0; i<json_obj.devices.length;i++)
        {
            var tr = document.createElement('tr');
            id.appendChild(tr);
            var name = document.createTextNode(json_obj.devices[i].name);
            var imei = document.createTextNode(json_obj.devices[i].imei);
            var email = document.createTextNode(json_obj.devices[i].email);
            var location = document.createTextNode(json_obj.devices[i].latitude);
            td_action.innerHTML = '<a href="" id="detail'+i+'">View More Detail</a>';
            td_name.appendChild(name);
            tr.appendChild(td_name);
            td_imei.appendChild(imei);
            tr.appendChild(td_imei);
            td_email.appendChild(email);
            tr.appendChild(td_email);
            td_location.appendChild(location);
            tr.appendChild(td_location);
            tr.appendChild(td_action);
            id.appendChild(tr);

        }

这里的表格和数据是正确的。但错误是所有姓名数据都在同一个 td 中,就像其他 td 一样。它不会创建下一行。这里有什么错误

最佳答案

将所有 td 声明移至循环内部

var id= document.getElementById("deviceTable");

        for(var i=0; i<json_obj.devices.length;i++)
        {
            var tr = document.createElement('tr');
            var td_name = document.createElement('td');
            var td_imei = document.createElement('td');
            var td_email = document.createElement('td');
            var td_location = document.createElement('td');
            var td_action = document.createElement('td');
            id.appendChild(tr);
            var name = document.createTextNode(json_obj.devices[i].name);
            var imei = document.createTextNode(json_obj.devices[i].imei);
            var email = document.createTextNode(json_obj.devices[i].email);
            var location = document.createTextNode(json_obj.devices[i].latitude);
            td_action.innerHTML = '<a href="" id="detail'+i+'">View More Detail</a>';
            td_name.appendChild(name);
            tr.appendChild(td_name);
            td_imei.appendChild(imei);
            tr.appendChild(td_imei);
            td_email.appendChild(email);
            tr.appendChild(td_email);
            td_location.appendChild(location);
            tr.appendChild(td_location);
            tr.appendChild(td_action);
            id.appendChild(tr);

        }

关于javascript - 在 JavaScript 中创建一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22631717/

相关文章:

javascript - html5 Canvas 内的重力

JavaScript 正则表达式 : replace this or that word (have or not whitespaces between words)

javascript - JQuery Tooltipster 隐藏它附加的元素

PHP循环创建Javascript

javascript - 什么是双箭头函数?

javascript - 如何从表单中隐藏选择值

javascript - React + Node.js 的项目结构应该是什么?

javascript - 找不到方法格式日期((类),字符串,对象)。 (第 54 行,文件 "Code")

javascript - 带有背景的 Bootstrap 之旅表现得很奇怪

javascript - 如何从服务返回数据作为 AngularJS 中的 promise ?