Salut je seulement un problème dans IE9IE9 Javascript table générée
J'ai la boucle Javascript génère une première table
var TABLE = widget.body.getElementsByClassName('classroom')[0];
var TBODY = widget.createElement('tbody');
//generate rows & Cells, 10 x 10
var cID = 0;
for (var r=0; r<10; r++) {
var TR = widget.createElement('tr');
for (var c=0; c<10; c++) {
var TD = widget.createElement('td');
//TD.id="c"+cID;
TD.setAttribute("class",'c'+cID);
TD.setAttribute("id",'c'+cID);
TD.setAttribute("style","width:90px;");
TD.setAttribute("style","height:90px;");
cID++;
TR.appendChild(TD);
}
TBODY.appendChild(TR);
}
TABLE.appendChild(TBODY);
Ce qui fonctionne très bien
il est appelle alors cette autre fonction peupler la table.
Ceci est juste un extrait des fonctions énormes!
var cell_class = cell.toString(); // it gets the cell from another loop say 'c1'
var TCell = widget.body.getElementsByClassName(cell_class)[0];
TCell.innerHTML="<a href='#'>image</a>"; // it fails at this point 'null or undefined'
dans le code HTML je
<table id="table1" class="classroom">
<colgroup>
<col width="90" height="70"/>
<col width="90" height="70"/>
<col width="90" height="70"/>
<col width="90" height="70"/>
<col width="90" height="70"/>
<col width="90" height="70"/>
<col width="90" height="70"/>
<col width="90" height="70"/>
<col width="90" height="70"/>
<col width="90" height="70"/>
</colgroup>
</table>
cela fonctionne si j'ajoute une table statique au HTML mais je veux dynamique.
Cela fonctionne dans tous les navigateurs actuels en dehors de IE9
Quelqu'un peut-il aider
Je viens d'essayer de cibler le tBody par classe et toujours le même. lorsque vous dites "Ajouter un élément tbody manuellement dans le balisage" Où voulez-vous dire? – ajl80
Quelle est cette classe de widget que vous utilisez? Je recommande fortement d'utiliser une bibliothèque de templates pour cela. Cela pourrait réduire beaucoup de douleur pour vous. – BuddhiP
Je travaille dans un cadre appelé Frog son fondamentalement un CMS. Vous pouvez également créer des widgets Javascript. Il vous suffit de mettre un widget devant votre fonction. Ce qui peut être une douleur, donc ne pas utiliser de modèles externes. – ajl80