2010-09-09 6 views
0

J'essaie d'ajouter une ligne à une table existante en utilisant la méthode clone(). Cela fonctionne bien et je veux aussi changer le nom de classe CSS pour tous les éléments div sous chaque td de la ligne d'origine. Fondamentalement, je veux que certains éléments td soient modifiables. J'ai essayé ceci en ajoutant "row.find (" td div ") ..." comme vous voyez dans le code, mais ce code n'a aucun effet du tout. Aucune suggestion?JQuery, ajout de ligne mais pas d'effet sur className

$("#create_blank_scenario").click(function(){ 
       var row = $('#sortable_offer_table tbody tr:first').clone(true); 

       row.find("td div").addClass("editable"); 

       row.insertBefore('#sortable_offer_table tbody tr:first'); 
}); 
+0

Pourriez-vous fournir un exemple de votre balisage? – Ender

Répondre

0

Votre balisage pose peut-être problème, car votre code semble fonctionner correctement pour moi. Voici une démo de ce travail: http://jsfiddle.net/gkEbp/

Je crée une html factice:

<table id="sortable_offer_table"> 
    <tr> 
     <td><div>My Text</div></td> 
     <td><div>My Other Text</div></td> 
     <td><div>My Final Text</div></td> 
    </tr> 
    <tr> 
     <td><div>My Text</div></td> 
     <td><div>My Other Text</div></td> 
     <td><div>My Final Text</div></td> 
    </tr> 
    <tr> 
     <td><div>My Text</div></td> 
     <td><div>My Other Text</div></td> 
     <td><div>My Final Text</div></td> 
    </tr> 
</table> 

<br/><br/> 

<button type="button" id="create_blank_scenario">Create Blank</button> 

Ajout d'une règle de CSS pour mettre en évidence .editable et couru votre code contre. Comme vous pouvez le voir, cela fonctionne.

+0

Oui vous avez raison, problème avec le balisage et CSS modifiable. Corrigé et fonctionne bien – jgg

0

Il y a probablement quelque chose qui ne va pas avec le sélecteur. Je cours row.find("td div") et vérifie son length (un alert() fera) pour vous assurer que vous êtes en train de trouver le div que vous voulez.

+0

Je viens de le faire, je reçois le nombre exact de chiffres. – jgg

+0

Dans ce cas, je ne suis pas sûr, mais j'essaierais d'ajouter la classe * après * l'insertion de la ligne dans le DOM. – EMP

Questions connexes