在id的帮助下更改其中的内容

时间:2011-05-21 05:20:55

标签: javascript html

如何获取tr的第二个子节点,其中包含3个td? 我有一个代码

rows=document.getElementById('mytr');
rows.firstChild.innerHTML='ddsds';
rows.lastChild.innerHTML='dd';

现在我想改变middile中的内容。我怎样才能做到这一点?

rows.secondChild.innerHTML='ddsds'; 

无效。

5 个答案:

答案 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或cells

rows.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";