-1
votes

Insertion automatique inattendue d'un élément Tody: la table n'est pas rangée.parentElement

Vérifiez cette table simple:

p>

Uncaught DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.


1 commentaires

Firefox 68 insère également un Tody élément


3 Réponses :


1
votes

Utilisez de cette façon table.tbodies [0] .Removechild

Pourquoi?

Todbon, Thead et Tfoot sont insérés par tous les navigateurs, même le champion, c'est-à-dire que cela, sa spécification W3C.

L'élément de corps de table HTML (TODO) encapsule un ensemble de lignes de table (TR éléments), indiquant qu'ils comprennent le corps de la table (table) de la même manière l'en-tête et le pied de page de la table.


4 commentaires

Merci, mais que diriez-vous de mes autres questions? J'aimerais comprendre ce qui se passe.


Cela répond-il à votre requête?


Comme ma question est une duplication, je ne vais pas choisir une réponse.


Tant qu'il satisfait la curiosité frère :)



1
votes

De nombreux navigateurs ajoutent un élément sur les tables HTML, si l'on n'existe pas. Vous pouvez en savoir plus sur pourquoi sur ce message: Pourquoi les navigateurs insèrent-elles Elément Tody dans les éléments de table?

Removechild () Seulement supprime les enfants, pas des descendants. Donc si un existe alors le vous essayez de supprimer est un enfant de et non enfant du

élément.

vous pouvez faire: xxx


2 commentaires

Je vois que cela est venu inattendu pour vous aussi. J'aimerais vraiment comprendre s'il s'agit de la façon dont il est censé se comporter et si oui, pourquoi. Devrai-je vérifier si dans le navigateur, le code est exécuté, il a inséré un Tody ?


@Connexo Voir ce message sur la raison pour laquelle les navigateurs font ceci:

Vous pouvez vérifier si la table a un élément Todbon en dessous, puis supprimez les lignes de sous cet élément à la place:

p>

<table border="1" id="table">
  <tr>
    <td>row A</td>
    <td><button>delete row</button></td>
  </tr>
  <tr>
    <td>row B</td>
    <td><button>delete row</button></td>
  </tr>
  <tr>
    <td>row C</td>
    <td><button>delete row</button></td>
  </tr>
</table>


0 commentaires