Javascript 遍历HTML文档

Javascript 遍历HTML文档,javascript,html-table,Javascript,Html Table,我使用以下代码遍历一个论坛 var formWithTable = document.getElementsByTagName("table")[0]; var table = formWithTable.getElementsByTagName("tbody")[0]; var rows = table.getElementsByTagName("tr"); for(i = 0; i < rows.length; i++) { var cols = rows[i].getEle

我使用以下代码遍历一个论坛

var formWithTable = document.getElementsByTagName("table")[0];

var table = formWithTable.getElementsByTagName("tbody")[0];

var rows = table.getElementsByTagName("tr");

for(i = 0; i < rows.length; i++)
{
  var cols = rows[i].getElementsByTagName("td");
  for (j = 0; j < cols.length; j++)
  {
    ...
  }
}
var formWithTable=document.getElementsByTagName(“表格”)[0];
var table=formWithTable.getElementsByTagName(“tbody”)[0];
var rows=table.getElementsByTagName(“tr”);
对于(i=0;i
HTML文档如下所示:

<div>
<table class="inventory sortable" id="listContainer_datatable" summary="Properties of various    threads" title="Properties of various threads">
<thead>
<tr>
...
<tbody id="listContainer_databody">   
<tr id="listContainer_row:0" class="">
<td  class="smallCell" valign="top">

<input  type="checkbox" name="formCBs" value="2161433" id="listContainer_formCBs2161433" title="Add a new message." />
<label for="listContainer_formCBs2161433" id="listContainer_formCBs2161433Label" class="hideoff">

</label>
</td>
...
</table>
</div>

...
...
但是,我不知道为什么
document.getElementsByTagName(“表”)[0]
返回“undefined”


非常感谢您的帮助。

您真正应该使用的是jQuery。然后:

选择文档的第一个表。就这么简单



在其他新闻中,如果这是您的文档,那么它不是有效的HTML,因此Javascript DOM不能保证工作。

您的脚本很好,唯一的问题可能是在将表添加到DOM之前添加了脚本,这可能是问题的原因

解决方案是将脚本移动到window.onload

window.onload = function(){
    var formWithTable = document.getElementsByTagName("table")[0];

    var table = formWithTable.getElementsByTagName("tbody")[0];

    var rows = table.getElementsByTagName("tr");

    for(i = 0; i < rows.length; i++) {
        var cols = rows[i].getElementsByTagName("td");
        for (j = 0; j < cols.length; j++) {
            console.log(cols[j].innerHTML)
        }
    }
}
window.onload=function(){
var formWithTable=document.getElementsByTagName(“表”)[0];
var table=formWithTable.getElementsByTagName(“tbody”)[0];
var rows=table.getElementsByTagName(“tr”);
对于(i=0;i

演示:

document.getElementsByTagName(“表”)
返回什么?另外,您真的应该尝试使用jQuery。它返回“Undeinted”,长度也为零。可能的重复是因为在将表添加到dom之前执行脚本。尝试在@user2585365上执行脚本。查看浏览器控制台
window.onload = function(){
    var formWithTable = document.getElementsByTagName("table")[0];

    var table = formWithTable.getElementsByTagName("tbody")[0];

    var rows = table.getElementsByTagName("tr");

    for(i = 0; i < rows.length; i++) {
        var cols = rows[i].getElementsByTagName("td");
        for (j = 0; j < cols.length; j++) {
            console.log(cols[j].innerHTML)
        }
    }
}