我有点问题。我有一些动态创建的表,每行都有一个id。我想删除id为“x”的行。
我尝试了常用方法(removeChild),但它显然不适用于表。
function deleteRow(tableid, rowid)
{
document.getElementById(tableid).removeChild(document.getElementById(rowid));
}
我得到的错误是:未找到节点“code:”8
我也试过这个:
function deleteRow(tbodyid, rowid)
{
document.getElementById(tbodyid).removeChild(document.getElementById(rowid));
}
并得到了同样的错误。
我不能使用deleteRow()
方法因为那个需要行的索引而我不想搜索索引然后删除的id标记(即使我没有找到其他解决方案。 ..)。
答案 0 :(得分:65)
怎么样:
function deleteRow(rowid)
{
var row = document.getElementById(rowid);
row.parentNode.removeChild(row);
}
而且,如果失败了,这应该真的有效:
function deleteRow(rowid)
{
var row = document.getElementById(rowid);
var table = row.parentNode;
while ( table && table.tagName != 'TABLE' )
table = table.parentNode;
if ( !table )
return;
table.deleteRow(row.rowIndex);
}
答案 1 :(得分:3)
到Vilx - :
var table = row.parentNode;
while ( table && table.tagName != 'TABLE' )
table = table.parentNode;
如果row.parentNode
是TBODY
会怎样?
你应该先检查一下,之后再检查一下
while
.tBodies
,可能是
答案 2 :(得分:2)
从这个post开始,试试这个javascript:
function removeRow(id) {
var tr = document.getElementById(id);
if (tr) {
if (tr.nodeName == 'TR') {
var tbl = tr; // Look up the hierarchy for TABLE
while (tbl != document && tbl.nodeName != 'TABLE') {
tbl = tbl.parentNode;
}
if (tbl && tbl.nodeName == 'TABLE') {
while (tr.hasChildNodes()) {
tr.removeChild( tr.lastChild );
}
tr.parentNode.removeChild( tr );
}
} else {
alert( 'Specified document element is not a TR. id=' + id );
}
} else {
alert( 'Specified document element is not found. id=' + id );
}
}
我在测试页面中尝试过这个javascript,它在Firefox中适用于我。
答案 3 :(得分:1)
那么尝试不删除但隐藏那一行呢?
答案 4 :(得分:0)
行的父级不是你想到的对象,这是我从错误中理解的
首先尝试检测行的父级,然后确定要写入父级getElementById
部分的内容。
答案 5 :(得分:0)
快速而又脏的东西:
<script type='text/javascript'>
function del_tr(remtr)
{
while((remtr.nodeName.toLowerCase())!='tr')
remtr = remtr.parentNode;
remtr.parentNode.removeChild(remtr);
}
function del_id(id)
{
del_tr(document.getElementById(id));
}
</script>
如果你放置
<a href='' onclick='del_tr(this);return false;'>x</a>
要删除的行中的任何位置,而不是在没有任何ID的情况下工作
答案 6 :(得分:-1)
#submission's name \n link
Bug Report: Selecting Jaina loads you in as Valeera.
https://www.reddit.com/r/heroesofthestorm/comments/fms1k9/bug_report_selecting_jaina_loads_you_in_as_valeera/
All missing potential Heathstone Portraits
https://www.reddit.com/r/heroesofthestorm/comments/fnbcvw/all_missing_potential_heathstone_portraits/