相关疑难解决方法(0)

无法动态地向IE中的<TABLE>添加行?

我有一个AJAX应用程序,它下载一个JSON对象并使用这些数据使用Javascript DOM函数向HTML <table>添加行.它完美无缺......除了在Internet Explorer中.IE没有出现任何类型的错误,我已经尽可能地验证了浏览器正在执行的代码,但它根本没有效果.我创建了这个快速而脏的页面来演示问题:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title></title></head><body>

<table id="employeetable">
    <tr>
        <th>Name</th>
        <th>Job</th>
    </tr>
</table>

<script type="text/javascript">
    function addEmployee(employeeName, employeeJob) {
        var tableElement = document.getElementById("employeetable");
        if (tableElement) {
            var newRow = document.createElement("tr");
            var nameCell = document.createElement("td");
            var jobCell = document.createElement("td");
            nameCell.appendChild(document.createTextNode(employeeName));
            jobCell.appendChild(document.createTextNode(employeeJob));
            newRow.appendChild(nameCell);
            newRow.appendChild(jobCell);
            tableElement.appendChild(newRow);
            alert("code executed!");
        }
    }

    setTimeout("addEmployee(\"Bob Smith\", \"CEO\");", 1000);
    setTimeout("addEmployee(\"John Franks\", \"Vice President\");", 2000);
    setTimeout("addEmployee(\"Jane Doe\", \"Director of Marketing\");", 3000);
</script>

</body></html>
Run Code Online (Sandbox Code Playgroud)

我没有尝试IE 8,但IE 7和IE 6都没有显示应该添加的额外行.我无法理解为什么.有谁知道这个问题的好方法,或者我可能做错了什么?

javascript ajax internet-explorer html-table cross-browser

21
推荐指数
2
解决办法
1万
查看次数

如何使用createElement创建新表?

为什么以下代码不起作用?

<html>
<head>
    <script type="text/javascript">
    function addTable() {
        var table = document.createElement('table');
        table.innerHTML = "<tr><td>123</td><td>456</td></tr>";
        document.getElementById("addtable").appendChild(table);
    }
    </script>
</head>
<body>
    <input type="submit" value="New Table" onClick="addTable()"/>
    <div id="addtable"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript dom

5
推荐指数
1
解决办法
4万
查看次数

将行动态添加到没有行的html表

我用它来动态地向表添加一行:

   $('#myTable tr:last').after('<tr><td>1</td><td>a</td></tr>');
Run Code Online (Sandbox Code Playgroud)

但如果表没有记录,它似乎不起作用:

<table id="myTable" class="altTable">
    <thead>
        <tr>
            <th>
                Col1
            </th>
            <th>
                Col2
            </th>
        </tr>
    </thead>
    <tbody>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

如果存在0或0行,那么在这里添加一行可行的正确选择器是什么?

html jquery html-table

0
推荐指数
1
解决办法
6963
查看次数