我想删除表格中的一个元素
我尝试使用tr.removeChild(tr.childNodes [2]);
删除我的第三行元素,但它确实不起作用
function smile()
{
document.getElementById("p1").style.backgroundImage = 'url(smile.jpg)';
}
function twice()
{
document.getElementById("p2").innerHTML="Smile Smile";
}
function empty()
{
//this is the part i want to remove , i want to remove the text inside it
tr.removeChild(tr.childNodes[3]);
}
</script>
</head>
<body>
<table border = "1" >
<form>
<tr>
<th onclick="smile()"><input type="button" name="person1" value="Make it smile!" id="person4" size="30" </th>
<th onclick="twice()"><input type="button" name="person1" value="Make it smile twice!" id="person4" size="30" </th>
<th onclick="empty()"><input type="button" name="person1" value="Make it empty" id="person4" size="30" </th>
</tr>
答案 0 :(得分:0)
一些事情:
您需要在tr
函数内设置empty()
,现在它不会设置为任何内容。
数组从0开始编入索引,因此您告诉它删除第4个子项。尝试将其更改为:
tr.removeChild(tr.childNodes [2]);
答案 1 :(得分:0)
现场演示:http://jsfiddle.net/SbDXC/
我发现您的代码存在一些问题。
首先,您需要定义tr(参见演示)。
其次,在表中,使用行和单元格比childNodes更可靠。要删除第一行(索引0)的第三个单元格(索引2),只需使用:
table.rows[0].removeChild(table.rows[0].cells[2]);
childNodes的问题在于,在某些浏览器中,换行符将被视为节点。
[编辑]更短:table.rows[0].deleteCell(2);