2010-08-16 9 views
1

J'utilise actuellement la méthode constructeur Mootools Element pour ajouter dynamiquement une nouvelle ligne dans une table.HTML dans le constructeur Element de Mootools?

function newPermission(somedata) { 
    var newUserPerm = new Element('tr', { 
     'html': '<td>foo</td><td>bar</td>' 
    }); 
    newUserPerm.inject('permissions_table'); 
} 

Cependant, lors de la vérification du code résultant, la chaîne HTML suivant est ajouté à la table:

<tr>foobar</tr> 

Je suis sûr qu'il ya un moyen d'envoyer les balises HTML aussi bien, mais je peux Je ne trouve pas grand-chose ici, sauf une autre question, dans laquelle l'utilisateur avait un ver obsolète. Mootools ...

+0

Ou vous pouvez essayer d'utiliser la classe HtmlTable à la place - http://mootools.net/docs/more/Interface/HtmlTable –

Répondre

3

cela a été corrigé dans mootools 1.3 bêta et je pense que cela n'affecte que les tables (sinon les setters html via les constructeurs d'éléments sont bien) - en attendant, ne définissez pas le html par le constructeur d'élément mais réglez l'après avoir créé le TR:

var tr = new Element('tr').inject(document.id("foo").getElement("tbody"), "top"); 
tr.set("html", '<td>foo</td><td>bar</td>'); 

ici, il travaille comme vous l'aviez en 1.3: http://www.jsfiddle.net/dimitar/ALsBK/

et ici, il se brise en 1.2.4: http://www.jsfiddle.net/dimitar/ALsBK/1/

et travaillant en 1.2 .4: http://www.jsfiddle.net/dimitar/ALsBK/2/

+0

A bien fonctionné, merci :) –