J'ai une table qui ajoute dynamiquement des lignes lorsque de nouveaux utilisateurs deviennent actifs. La fonction ajoutera une nouvelle ligne qui affiche le nom de l'utilisateur et un bouton qui active une visionneuse pour afficher plus d'informations. Le nom et le bouton sont placés dans une seule cellule, mais je voudrais aligner le bouton à droite et aligner le nom à gauche dans la cellule. J'ai trouvé cet article Right align and left align text in same HTML table cell qui montre comment le faire avec des divs en HTML, mais j'ai besoin de le faire dynamiquement. Quelqu'un a une idée? J'ai essayé le code suivant, cela fonctionne, mais ne justifie pas le nom et le bouton que je voudrais. Il les centre simplement dans la cellule. J'apprécierais toute aide.Ajouter dynam dynamiquement
function addRow(tableID, user, phone, age, city, zipCode) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;
for(var i=0; i<colCount; i++) {
tabbody=document.getElementsByTagName("tbody").item(2);
cell1 = document.createElement("TD"); //Create New Row
leftDiv = document.createElement("div"); //Create left div
leftDiv.id = "left"; //Assign div id
leftDiv.setAttribute("style", "float:left;width:50%;"); //Set div attributes
rightDiv = document.createElement("div"); //Create right div
rightDiv.id = "right"; //Assign div id
rightDiv.setAttribute("style", "float:right;width:50%;"); //Set div attributes
user_name = document.createTextNode(user + ' '); //Set user name
details_btn = document.createElement("button"); //Create details button
btn_txt = document.createTextNode("Details"); //Create button text
details_btn.appendChild(btn_txt); //Add "Details" to button text
details_btn.onclick = function(){moreInfo(user, phone, age, city, zipCode);}; //Assign button function
cell1.appendChild(leftDiv);
cell1.appendChild(user_name); //Add name to row
cell1.appendChild(rightDiv);
cell1.appendChild(details_btn); //Add button to row
row.appendChild(cell1); //Add row to table
tabbody.appendChild(row);
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[0].cells[i].innerHTML;
}
}
C'est la meilleure façon. Il manque seulement une règle: 'text-align: right/left'. 'float' lui-même n'aligne pas le texte dans' DIV'. – Teemu
merci pour la correction, Vous avez peut-être raison mais l'affiche veut aligner DIV elle-même à son TD parente et non l'alignement de texte à la div. – Ved
Était-il? "Je voudrais aligner le bouton à droite et aligner le nom à gauche ..." Il me semble qu'il veut placer le bouton sur le côté droit de la cellule et le nom sur le côté gauche de la même cellule. Les DIV sont seulement nécessaires pour y parvenir. – Teemu