2010-07-14 4 views
2

Dans ce cas précis, l'élément est une ligne de table.Comment supprimer un élément du DOM, étant donné son identifiant?

+3

Vous pourriez avoir au moins montré à quoi ressemble votre HTML et explique quelle ligne vous devez supprimer en fonction de quel identifiant. –

+0

@Darin: Cela ne changerait probablement pas la réponse - c'est en fait plus utile si la question est générique, IMO. –

+0

@Bobby, il n'est même pas clair ce que 'Id 'le PO signifie. –

Répondre

0

Jquery

$('#myTableRow').remove(); 

Cela fonctionne très bien si votre ligne a un id, comme:

<tr id="myTableRow"><td>blah</td></tr> 

Javascript pur:

Javascript Remove Row From Table

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 &amp;&amp; tbl.nodeName != 'TABLE') { 
     tbl = tbl.parentNode; 
     } 

     if (tbl &amp;&amp; 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); 
    } 
} 
+4

Cela nécessite la bibliothèque jQuery. – Fermin

+0

oui cela nécessite la bibliothèque j-query je suggère cette solution car il est préférable d'utiliser pour le codage propre –

+0

maintenant c'est à la fois jqery et javascript –

6

Untested mais quelque chose comme:

var tbl = document.getElementById('tableID'); 
var row = document.getElementById('rowID'); 
tbl.removeChild(row); 

ou

var row = document.getElementById('rowID'); 
row.parentNode.removeChild(row); 
+6

Vous n'avez pas besoin d'une référence codée en dur au parent .. vous pouvez l'obtenir à partir de la ligne elle-même .. 'row.parentNode.removeChild (row);' De cette façon, vous n'avez besoin que de l'identifiant de l'élément que vous voulez supprimer. –

2
var zTag = document.getElementById ('TableRowID'); 
zTag.parentNode.removeChild (zTag); 

Ou dans jQuery:

$('#TableRowID').remove(); 
4
var row = document.getElementById("row-id"); 
row.parentNode.removeChild(row); 
Questions connexes