所以我完成了一个使用 DOM 获取数据的项目。一切都很好,我的代码通过了代码审查。然而,在我实现一项新功能后的一天,我的代码坏了。我拿走了我没有接触过的损坏的代码,并在 W3C 学校的测试地点复制了它,可以在这里找到。
http://www.w3schools.com/dom/tryit.asp?filename=try_dom_nodelist_item
只需将我的代码复制到那里并运行它。当您期望看到“5”时,您得到的输出为“2”,因为表中显然有五行。希望有大神能解答一下这个问题。提前致谢。
一些更可能有用的信息:我也在 Visual Studios 中运行它并调试它以查看发生了什么。显然,无论你放多少行,它总是会吐出 2,而且它吐出的两个对象都是空的。这有多奇怪??
<!DOCTYPE html>
<html>
<head>
</script>
</head>
<body>
<h2><i>Albums</i></h2>
<table cellspacing="0" border="4" id = "table" class = "lazyProgressiveLoad">
<tr style="font-style: italic; font-size: small; font-family: Segoe UI Light; color: Navy">
<th>--Id--</th>
<th>--Name--</th>
<th>--Description--</th>
<th><input type="button" value="Add Album" onclick="alert('Guru's Please Help!!!')" id = "addAlbum"/></th>
</tr>
<tr>
<td>Load, Search, or Add Albums to Get Started!</td>
<td>~~~</td>
<td>~~~</td>
<td>~~~</td>
</tr>
<tr>
<td>Load, Search, or Add Albums to Get Started!</td>
<td>~~~</td>
<td>~~~</td>
<td>~~~</td>
</tr>
<tr>
<td>Load, Search, or Add Albums to Get Started!</td>
<td>~~~</td>
<td>~~~</td>
<td>~~~</td>
</tr>
<tr>
<td>Load, Search, or Add Albums to Get Started!</td>
<td>~~~</td>
<td>~~~</td>
<td>~~~</td>
</tr>
<tr>
</tr>
</table>
<script>
window.onload = function () {
alert(parseInt(document.getElementById("table").childNodes.length));
}
</script>
</body>
</html>