如何获取tr
的第二个子节点,其中包含3个td
?
我有一个代码
rows=document.getElementById('mytr');
rows.firstChild.innerHTML='ddsds';
rows.lastChild.innerHTML='dd';
现在我想改变middile中的内容。我怎样才能做到这一点?
rows.secondChild.innerHTML='ddsds';
无效。
答案 0 :(得分:3)
虽然我建议使用像jQuery这样的操作,但这就是你想要的:
var rows = document.getElementById('mytr');
var cells = table.getElementsByTagName('td');
cells[0].innerHTML = 'ddsds';
cells[1].innerHTML = 'ddsds';
cells[2].innerHTML = 'dd';
答案 1 :(得分:2)
以数组
的形式访问childNodes或cellsrows.childNodes [1] .innerHTML将执行第二个单元格,
也是如此rows.cells [1] .innerHTML
答案 2 :(得分:2)
你也可以使用nextSibling,
rows.firstChild.nextSibling.innerHTML='ddsds';
在访问子节点时要小心,如果有一些空格,这些可以返回文本节点。总是尝试使用
验证孩子是否不是文本节点 rows.firstChild.nodeType == 1
//这将检查节点是否不是文本节点
答案 3 :(得分:1)
您可以使用.childNodes按索引查找子节点。
rows.childNodes[1].innerHTML = 'foo'; // set foo to second child
答案 4 :(得分:0)
if (rows.childNodes.length > 0)
rows.childNodes[1].innerHTML = "ddsds";