Javascript 子节点打开<;tr>;里面有奇怪的东西,把我绊倒了 读西格玛[0] 阅读西格玛[1]
但在Chrome中,我得到: 请注意,神秘的“文本”对象阻碍了我的for循环。他们也有三个。(只有两个Javascript 子节点打开<;tr>;里面有奇怪的东西,把我绊倒了 读西格玛[0] 阅读西格玛[1],javascript,html,Javascript,Html,但在Chrome中,我得到: 请注意,神秘的“文本”对象阻碍了我的for循环。他们也有三个。(只有两个) 这是什么 另外,我将在上使用getElementsByTagName('th')来获得一个干净的数组。但是,当我用divs做各种忍者游戏的时候,我并没有出现这些奇怪的文本内容。我可以解释一下吗?空格也是文本节点。 第1个之前、第1个之后和第2个之后都有空格(换行符) 使用而不是元素.childNodes仅检索元素节点。对于表行和单元格,应使用: row.cells当前已断开.cells
)
这是什么
另外,我将在
上使用getElementsByTagName('th')
来获得一个干净的数组。但是,当我用div
s做各种忍者游戏的时候,我并没有出现这些奇怪的文本内容。我可以解释一下吗?空格也是文本节点。
第1个之前、第1个之后和第2个之后都有空格(换行符)
使用而不是元素.childNodes仅检索元素节点。对于表行和单元格,应使用:
当前已断开row.cells
的MDN文档链接,但如前所述,它已列出.cells
Firefox3
,并避免了IE8
和儿童版的一些怪癖
您可以发布HTML源代码吗?我不明白问题是什么,就在最上面。。。问题是,我假设孩子们都是th
,而其中一些是空白文本对象。事实证明,它们确实是我在html源代码中输入的文本。我没有通过检查chrome列出的细节来把这些点联系起来。我花了好几个小时才弄清楚。谢谢。顺便说一句,DOM4将子项指定为接口的属性。在DOM4之前,它似乎一直未指定,因为在DOM 3核心或元素遍历中没有提到它。@patrickcells
似乎在MDN上没有专用页面,但它在列表中@ŠimeVidas:谢谢,我在答案中添加了它。我曾经遇到过这个问题,但在我的探索中,我注意到MDN上有一些断开的链接。这个世界会变成什么样子?!我可能需要开始发布W3Schools链接!!!顺便问一下,你说的这个“帕特里克”是谁?好吧,现在你吓到我了:)
页面上写着“只读HTMLCollection”。所以如果我想更新行的单元格,我还是要用老方法?这看起来确实管用,但我不想让那种只读性在以后咬我的屁股。特别是当getElementsByTagName工作正常时。@StevenLu:任何HTMLCollection或NodeList都是只读的,包括.childNodes
、.children
和从getElementsByTagName
返回的NodeList。但所有这些例子都是“实时列表”。这意味着它们会随着对DOM的更改而自动更新。行
和单元格
属性也不例外。您将始终拥有表中当前行和单元格的快照。
<tr id='tt_info_entry_2'>
<th colspan=3>Read sigma[0]</th>
<th colspan=3>Read sigma[1]</th>
</tr>