J'ai plusieurs pages Web avec différentes quantités de tables avec différentes quantités de colonnes.Définir la largeur de td en fonction du nombre de td en utilisant jquery
Je cherchais sur le net pour une jquery spinet qui obtient le nombre de colonnes de la table et en fonction du nombre de colonnes définira la largeur de chaque colonne.
Ex.
if (noOfTdOnTable == 2) {
tdWidth = "50%";
}
if (noOfTdOnTable == 3) {
td1Width = "40%";
td2Width = "40%";
td3Width = "20%";
}
if (noOfTdOnTable == 4) {
td1Width = "35%";
td2Width = "25%";
td3Width = "15%";
td4Width = "15%";
}
Mise à jour
En utilisant la seule réponse qu'on m'a donnée, j'ai ce au moment, mais ne fonctionne que quand il y a une table sur la page et je ne pouvais pas comprendre comment appliquer quand il y a deux colonnes.
var num = $("table > td").length;
if (num % 4 == 0) {
$("table > td:eq(0)").css("width", "50%");
$("table > td:eq(1)").css("width", "30%");
$("table > td:eq(2)").css("width", "10%");
$("table > td:eq(3)").css("width", "10%");
}
if (num % 3 == 0) {
$("table > td:eq(0)").css("width", "50%");
$("table > td:eq(1)").css("width", "40%");
$("table > td:eq(2)").css("width", "10%");
}
Voici un exemple du html, mais le code sera applicable à beaucoup de pages avec différents tableaux, mais non de toutes les tables auront soit 2,3 ou 4 colonnes.
<html>
<table>
<tr>
<td>text</td>
<td>text</td>
<td>text</td>
</tr>
</table>
<table>
<tr>
<td>text</td>
<td>text</td>
</tr>
</table>
<table>
<tr>
<td>text</td>
<td>text</td>
<td>text</td>
<td>text</td>
</tr>
</table>
</html>
Question Dumb: Pourquoi ne pas vous définissez les largeurs de cellule de tableau directement dans votre code HTML ou CSS? – RoToRa
Pas si dump comme l'idée est d'appliquer le code à 100 des pages déjà créées avec beaucoup de tables et faire cela avec html ou css prendrait un certain temps. – Amra