jQuery supprimer HTML colonne de table
J'ai un tableau HTML comme ceci:
<table border="1">
<tbody>
<tr>
<td><a href="#" class="delete">DELETE ROW</a>COL 1</td>
<td><a href="#" class="delete">DELETE COL</a>COL 2</td>
<td><a href="#" class="delete">DELETE COL</a>COL 3</td>
<td><a href="#" class="delete">DELETE COL</a>COL 4</td>
<td><a href="#" class="delete">DELETE COL</a>COL 5</td>
<td><a href="#" class="delete">DELETE COL</a>COL 6</td>
</tr>
<tr>
<td>ROW 1</td>
<td>ROW 1</td>
<td>ROW 1</td>
<td>ROW 1</td>
<td>ROW 1</td>
<td>ROW 1</td>
</tr>
<tr>
<td>ROW 2</td>
<td>ROW 2</td>
<td>ROW 2</td>
<td>ROW 2</td>
<td>ROW 2</td>
<td>ROW 2</td>
</tr>
</tbody>
</table>
J'ai besoin d'une fonction pour supprimer la colonne spécifiée lorsque je clique sur le lien avec la classe "supprimer". Pouvez-vous aider ?
Vous devez vous connecter pour publier un commentaire.
Après quelques années, il est probablement temps de mettre à jour la réponse à cette question.
Façon générique (pas testé):
Pas besoin de changer de balisage.
C'est comment j'allais le faire.
Attribuer à chaque cellule dans une colonne avec le même nom de classe. Puis avec jQuery, de supprimer toutes les balises qui ont un nom de classe.
@Jonathan Sampson réponse, j'ai modifié le code pour gérer le tableau de balisage contenant un
<thead>
élément et de fournir un joli effet de fondu:Ce vieux topic est arrivé en tête dans google, mais donne une très mauvaise réponses. Gaspillé longtemps pour faire ce travail, mais la solution de facilité serait ici par exemple
http://www.devcurry.com/2009/07/hide-table-column-with-single-line-of.html
Je n'ai pas vraiment comme l'une des solutions de ce post, alors je suis venu avec mon propre.
Idéalement ce qu'il est :nth-of-type de sélecteur qui rendrait les choses plus facile.
Mais, malheureusement, JQuery ne le supporte pas "à cause de leur manque de monde réel utilité". Ehh..
Voici donc ma solution qui fait le truc à l'aide de :nth-child expression:
Je sais que le sujet est vieux, mais je pense que le plus simple c'est de mettre: $(".supprimer").remove();
câlins.
Zanoldor
jQuery:
HTML:
Essayez ceci:
Testé dans FF3.5.
il y a une inquiétude, mais obtenir le numéro de colonne. Si le nombre de colonnes dépassent 2 chiffres, cela ne fonctionnera pas. Il serait mieux si vous mettez l'attribut personnalisé et l'affecter la position de la colonne.
souviens avec nth-child index commence à 1
Essayer ça, j'ai eu exactement hors mis
Quand j'ai lu ce post j'ai essayé la première solution à l'aide de jQuery fonction de suppression.
Mais il semble avoir un problème avec cette fonction lorsque vous l'utilisez sur une ligne du tableau pour supprimer des cellules. Le problème est lier à un concurrent à la modification. Dans l'exemple avec cette reponse si vous essayez d'utiliser la fonction index (), cela ne fonctionnera pas car la cellule de l'indice est en train de changer chaque fois que vous retirez une cellule.
Une solution pourrait être d'utiliser le cacher() la fonction sur la cellule que vous souhaitez supprimer.
Mais si vous avez vraiment besoin de supprimer la colonne (le retirer dans les DOM) de la manière qui a travaillé pour moi ont été, pour utiliser le javascript natif pour supprimer la colonne.
Dans cet exemple, vous supprimez la seconde colonne du tableau : i == 1 ...