Forums d'assistance et de discussion sur les logiciels produits par Mozilla ou créés à partir des technologies Mozilla. Ce site ne dépend pas de la fondation Mozilla et est maintenu par un collectif de bénévoles.
HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
for (elements in document.all) {
// Reinit des couleurs de fond par trBgColor
if (elements.substring(0,2) == "tr" ) {
document.getElementById(elements).style.background=trBgColor;
}
}
J'ai trouvé ça mais, je ne vois pas comment l'utiliser ...
for (i=0; i<document.getElementsByTagName('tr').length; i++) {
var id=document.getElementsByTagName('tr')[i].getAttribute("id");
if (id == 'tr???') {
document.getElementsByTagName('tr')[i].setAttribute("bgColor", trBgColor);
}
}
for (i=0; i<document.getElementsByTagName('tr').length; i++) {
var id=document.getElementsByTagName('tr')[i].getAttribute("id");
if (id == 'tr???') {
document.getElementsByTagName('tr')[i].setAttribute("bgColor", trBgColor);
}
}
Oula, oui ça va marcher mais tu rappelles chaque fois getElementsByTagName() sur ton document c'est très peu efficace ! En règle générale si tu vas réutiliser plusieurs fois un appel de fonction il vaut mieux en faire une variable, et inversement déclarer une variable pour faire un seul if dessus ne sert pas à grand chose. Essaie plutôt :
var lignes = document.getElementsByTagName('tr');
var nblignes = lignes.length;
for (i = 0; i < nblignes; i++) {
if (lignes[i].getAttribute("id") == 'tr???') {
lignes[i].setAttribute("bgColor", trBgColor);
}
}
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
Il me semble qu'il est plus efficace de d'utiliser getElementById pour trouver l'élément avec le bon id, et de vérifier que c'est un élément <tr>, plutôt que de parcourir tout les <tr> et de vérifier qu'il a le bon id.
Hum, je crois que j'ai mal compris la question, en fait tu veux les lignes dont l'id commence par 'tr' plutôt ?
Je ne sais pas trop qu'elle est la finalité de ton Javascript, mais il est peut-être plus judicieux d'utiliser une classe et les CSS pour colorer ces quelques lignes.