如何使用JavaScript删除html输入元素?
我想从表中删除输入元素。我想不出任何办法 通过JavaScript删除它们如何使用JavaScript删除html输入元素?,javascript,html,Javascript,Html,我想从表中删除输入元素。我想不出任何办法 通过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="bord
<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>
您可以这样做:
var inputs = document.getElementsByTagName('input');
while (inputs.length) inputs[0].parentNode.removeChild(inputs[0]);
如果有table元素,还可以使用myTable.getElementsByTagName('input')代码>
如果您使用
如果要保留数据以备将来使用,即使在删除数据之后,也可以使用.detach()
就个人而言,如果您无权访问jQuery,我只会给父元素一个id,然后这样做
var els = document.findElementById('tableId').childNodes.getElementByTagName('input');
for( var i = 0; i < els.length; i++){
els[i].removeNode(true);
}
这样的办法应该行得通。老实说,我会使用jQuery。容易多了。这是工作
document.getElementById('c11').val("");
document.getElementById('c12').val("");
试试这个代码
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();
}
函数删除程序(r)
{
var fo=“foo”;
var ido=r.id.substring(3,r.id.length-1);
对于(i=1;iPlain vanilla JavaScript或jQuery?removeNode的可能重复项仅存在于IE上。使用jQuery的remove()方法的更多原因是:)jQuery通常很有用,但您导入像jQuery这样的库并不是为了避免键入两行代码(请参阅我的答案)这不可能是原因。这将失败。你正在通过正在修改的实况列表执行前向迭代。每次删除元素时,列表从该点被重新索引。你是完全正确的。我稍微修改了它。但是,它降低了我认为是一个好的解决方案。但是目标不是给出。n确切的代码示例,而是向他展示他可能如何通过逻辑思考来解决问题,并给出一些javascript方法,使他能够做到这一点。是的。也许我应该精确地指出,随着列表的动态更新,您不能向另一个方向循环。但这并不能解决问题。他只需要列表中的输入表,从技术上讲,这将删除页面上的所有输入,因此假设这只是一个摘录而不是完整的html,这可能是不好的。@KyleRichter也许您还应该阅读我答案的最后一行。
var els = document.findElementById('tableId').childNodes.getElementByTagName('input');
for( var i = 0; i < els.length; i++){
els[i].removeNode(true);
}
var els = document.getElementById('tableId').getElementsByTagName('input');
while( els.length ){
els[0].parentNode.removeChild(els[0]);
}
document.getElementById('c11').val("");
document.getElementById('c12').val("");
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();
}