11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je n'arrive pas à résoudre ce petit problème, c'est pourquoi je sollicite votre aide...

J'ai une liste...

<ul>
 <li><a onclick="supprime(this)">a</a></li>
 <li><a onclick="supprime(this)">b</a></li>
 <li><a onclick="supprime(this)">c</a></li>
</ul>


Je voudrais supprimer l'élément de la liste quand on clique sur le lien... Malheureusement, je n'y arrive pas Smiley decu

J'ai seulement réussi à supprimer le lien!


function supprime(a) {
 a.parentNode.removeChild(a);
}


Merci d'avance.

Kariboo
Pas de problème.
Avec le DOM, il faut toujours bien calculer son coup et bien savoir sur quel élément on travaille.

Ici, le this que tu transmets est le noeud correspondant au lien.
Son parent est l'élément <li>.
Pour supprimer le <li>, il faut donc supprimer a.parentNode.
Pour pouvoir supprimer un élément, il faut savoir à qui celui-ci appartient. Ici, le <li> que tu veux supprimer a <ul> comme parent.
Par rapport au lien, <ul> est à deux niveaux, d'où a.parentNode.parentNode.