我想从表中删除输入元素。我无法想出任何办法 通过JavaScript删除它们。
<table><tbody><tr>
<td><input id="c11" value=" " size="1" style="border-width: 0px;" type="text"></input></td>
<td><input id="c12" value=" " size="1" style="border-width: 0px;" type="text"></input></td>
</tr>
</tbody>
</table>
答案 0 :(得分:1)
你可以这样做:
var inputs = document.getElementsByTagName('input');
while (inputs.length) inputs[0].parentNode.removeChild(inputs[0]);
如果您有表格元素,也可以使用myTable.getElementsByTagName('input');
。
答案 1 :(得分:1)
document.getElementById('c11').outerHTML = "";
答案 2 :(得分:0)
如果您使用Jquery
$("#yourtableid tr").remove();
如果你想保留数据以备将来使用,那么你可以使用.detach()
$("#yourtableid tr").detach();
答案 3 :(得分:0)
这是工作!
document.getElementById('c11').val("");
document.getElementById('c12').val("");
答案 4 :(得分:0)
试试此代码
function removeRow(r)
{
var fo = "foo";
var ido = r.id.substring(3,r.id.length-1);
for(i=1;i<=3;i++)
{
document.getElementById(fo+id0+i).remove();
}
document.getElementById(fo+ido+5).nextSibling.remove();
document.getElementById(fo+ido+5).remove();
}
答案 5 :(得分:-1)
就个人而言,如果您无权访问jQuery,我只会给父元素一个id然后执行此操作
var els = document.findElementById('tableId').childNodes.getElementByTagName('input');
for( var i = 0; i < els.length; i++){
els[i].removeNode(true);
}
或者,您可以使用类似的代码替换代码以实现完全的浏览器兼容性,因为@dystroy指出removeNode仅在IE中可用。
var els = document.getElementById('tableId').getElementsByTagName('input');
while( els.length ){
els[0].parentNode.removeChild(els[0]);
}
这样的事情应该有用。老实说,我会使用jQuery。更容易。