


Modifier les couleurs d'arrière-plan de la ligne de table à l'aide de javascript
Les plats clés
- JavaScript peut être utilisé pour modifier dynamiquement les couleurs d'arrière-plan de la ligne de table, améliorant la lisibilité sans avoir besoin de coder hard à chaque deuxième ligne ou régénérer la page HTML à partir d'une application de serveur.
- Une méthode consiste à définir deux classes pour les couleurs d'arrière-plan dans un élément de style, puis à utiliser JavaScript pour attribuer ces classes à des lignes étranges et même respectivement.
- Une méthode plus complexe permet de plusieurs couleurs alternées en utilisant un tableau qui contient toutes ces couleurs et les affectant aux lignes en fonction de leur index.
- Une méthode finale calcule la couleur en fonction du nombre de lignes dans le tableau, de la couleur de démarrage et d'un facteur donné, créant un effet de gradient. Cette méthode nécessite une considération attentive des combinaisons de couleurs pour maintenir la lisibilité.
De nombreux sites qui présentent des données tabulaires utilisent des couleurs d'arrière-plan alternées pour augmenter la lisibilité de ces données. Et comme j'ai développé un site, j'ai réalisé que je voulais aussi le faire. Le problème? Dans mon cas, le tableau n'a pas été généré par une application ou un script côté serveur dont vous pouvez trouver de nombreux exemples sur le Web.
La solution évidente était de coder hard-code chaque deuxième rangée pour s'assurer qu'il avait une couleur d'arrière-plan différente. Mais je voulais que la table soit dynamique, de sorte qu'il était possible d'ajouter une nouvelle ligne au milieu de la table sans modifier l'attribut de couleur d'arrière-plan des lignes qui ont suivi.
Ma solution utilise JavaScript, car CSS3 n'est pas encore vraiment une option viable. Aujourd'hui, les navigateurs ont encore du mal à soutenir CSS1 et CSS2. Même si les tables HTML ne sont pas recommandées pour la disposition des pages Web, elles sont toujours parfaitement adaptées à la présentation des données tabulaires. Dans ce tutoriel, je présenterai trois exemples basés sur la même idée. J'ai testé les solutions dans IE6, Firefox 1.0, Mozilla 1.7.3 et Opera 7.54 sur la plate-forme Windows uniquement.
Pour commencer
Commençons par une table HTML ordinaire. La question de savoir si le tableau contient des éléments de la tête / des pieds n'a pas d'importance dans ce cas:
0 - some txt |
1 - some txt |
2 - some txt |
3 - some txt |
4 - some txt |
Maintenant, nous devons vérifier que le navigateur est assez nouveau et a les capacités JavaScript nécessaires (c'est-à-dire la prise en charge DOM W3C). La ligne suivante effectue ce chèque, disqualifiant Netscape 4 et d'autres de cette génération. Ces navigateurs ne feront aucune tentative de colorier la table.
if(document.getElementById)
Notez également que commun à tous ces exemples est ce code:
var table = document.getElementById(id); <br> var rows = table.getElementsByTagName("tr"); <br> for(i = 0; i //manipulate rows <br> ...
Exemple 1
Ce premier exemple utilise un élément de style à travers lequel nous avons défini deux classes pour les couleurs d'arrière-plan:
<style> <br> .odd{background-color: white;} <br> .even{background-color: gray;} <br> </style>
Le style est flexible: il pourrait tout aussi bien définir autre chose, tel que chaque deuxième rangée devrait s'afficher en italique. La fonction complète ressemble à ceci:
function alternate(id){ <br> if(document.getElementsByTagName){ <br> var table = document.getElementById(id); <br> var rows = table.getElementsByTagName("tr"); <br> for(i = 0; i //manipulate rows <br> if(i % 2 == 0){ <br> rows[i].className = "even"; <br> }else{ <br> rows[i].className = "odd"; <br> } <br> } <br> } <br> }
Ici,%, l'opérateur de modulo, nous donne le reste de la division.
La fonction ci-dessus doit être appelée à partir de l'événement Onload de la balise corporelle:
0 - some txt |
1 - some txt |
2 - some txt |
3 - some txt |
4 - some txt |
Le résultat pourrait ressembler à ceci:
Exemple 2
passons à l'exemple suivant - quelque chose d'un peu plus aventureux. Au lieu d'utiliser seulement deux couleurs alternées, je veux en utiliser plusieurs. Ajoutons un tableau qui contient toutes ces couleurs.
Étant donné qu'un nombre limité de couleurs a un nom défini en HTML, nous passerons aux valeurs hexadécimales. Les couleurs résultantes seront constituées de trois valeurs: rouge, vert et bleu. Le blanc est réalisé lorsque les trois couleurs sont activées sur Max: #FFFFFF. L'opposé, noir, est # 000000.
if(document.getElementById)
Le code manipulant la ligne ne comprendra qu'une seule ligne, mais au lieu de copier et de coller le même code, nous passerons un appel de fonction distinct:
var table = document.getElementById(id); <br> var rows = table.getElementsByTagName("tr"); <br> for(i = 0; i //manipulate rows <br> ...
Ici, j'ai également ajouté une fonction par exemple 1 appelé doalternate. Cela facilite la commutation entre les différentes méthodes par lesquelles nous pouvons alterner les couleurs de ligne de la table.
Comme on le voit dans les fragments ci-dessus, il est possible de définir pour les lignes le nom de la classe CSS, ou un attribut spécifique d'une balise HTML:
<style> <br> .odd{background-color: white;} <br> .even{background-color: gray;} <br> </style>
Le résultat de l'exemple 2 peut apparaître comme indiqué ci-dessous:
Exemple 3
l'exemple final montre une variante vraiment colorée dans laquelle la couleur est calculée en fonction du nombre de lignes dans le tableau, de la couleur de démarrage et d'un facteur donné.
Tout d'abord, nous devons définir quelques variables:
function alternate(id){ <br> if(document.getElementsByTagName){ <br> var table = document.getElementById(id); <br> var rows = table.getElementsByTagName("tr"); <br> for(i = 0; i //manipulate rows <br> if(i % 2 == 0){ <br> rows[i].className = "even"; <br> }else{ <br> rows[i].className = "odd"; <br> } <br> } <br> } <br> }
Nous ajoutons maintenant une nouvelle fonction, Dogradient.
<br> ... <br> <br>
... |
...
Étant donné que les couleurs sont calculées, nous devons nous assurer que nous ne sortons pas de la plage, les valeurs valides sont de 0 à 255. L'argument de couleur n'est pas séparé en valeurs RVB, nous devons donc remplir si nous allons en dessous de 16, sinon, la valeur sera illégale. Si nous avons une très longue table ou une valeur de grandes étapes, le gradient tournera dans l'autre sens. Dans cette fonction, la partie bleue est fixe et les deux autres sont modifiées.
La méthode de tostring est assez pratique lorsque vous devez convertir les nombres - décimal en hexadécimal, dans ce cas. L'argument dans Tostring est le radix, c'est-à-dire. 2 pour binaire, 10 pour décimal et 16 pour Hex. L'image ci-dessous montre comment le tableau apparaît dans les résultats dans Firefox 1.0, IE6, Mozilla 1.7 et Opera 7.5.
Veillez à ne pas rendre l'affichage trop coloré - nous voulons toujours assurer la lisibilité de nos données tabulaires. Avec certaines combinaisons de couleurs, il pourrait même être nécessaire de modifier la couleur du texte de la table en utilisant quelque chose comme ceci:
0 - some txt |
1 - some txt |
2 - some txt |
3 - some txt |
4 - some txt |
Conclusion
En utilisant CSS et JavaScript, il est assez facile d'ajouter ou d'augmenter la lisibilité de notre code sans avoir à régénérer la page HTML à partir d'une application de serveur. Comme nous l'avons vu ici, il peut également être ajouté sur des pages HTML statiques. Pour voir ces exemples en action, téléchargez le fichier html contenant le code.
Questions fréquemment posées (FAQ) sur la modification des couleurs d'arrière-plan en javascript
Comment puis-je modifier la couleur d'arrière-plan d'une ligne spécifique dans un tableau à l'aide de JavaScript?
Pour modifier la couleur d'arrière-plan d'une ligne spécifique dans une table, vous pouvez utiliser la méthode JavaScript GetElementById ou QuerySelector pour sélectionner la ligne, puis modifier sa propriété de style. Voici un exemple:
document.getElementById ("myrow"). Style.backgroundcolor = "red";
// ou
document.QuerySelector ("# myrow"). Style.backgroundColor = "Red";
Dans cet exemple, "myRow" est l'ID de la ligne que vous voulez changer. Vous pouvez remplacer «rouge» par n'importe quel nom de couleur ou code couleur valide.
Puis-je modifier la couleur d'arrière-plan de plusieurs lignes à la fois?
Oui, vous pouvez modifier la couleur d'arrière-plan de plusieurs lignes à la fois en utilisant JavaScript. Vous pouvez utiliser la méthode QueySelectorall pour sélectionner toutes les lignes que vous souhaitez modifier, puis utiliser une boucle pour modifier la couleur d'arrière-plan de chaque ligne. Voici un exemple:
var Rows = document.QuerySelectorAll (". Myrows");
pour (var i = 0; i
}
Dans cet exemple, "MyRows" est la classe que vous voulez changer. Vous pouvez remplacer «bleu» par n'importe quel nom de couleur ou code couleur valide.
Comment puis-je modifier la couleur d'arrière-plan d'une ligne lorsque je clique dessus?
Pour modifier la couleur d'arrière-plan d'une ligne lorsque vous cliquez dessus, vous pouvez utiliser l'événement OnClick en JavaScript. Voici un exemple:
document.getElementById ("myrow"). Onclick = function () {
this.style.backgroundcolor = "green";
}
Dans cet exemple, "myrow" est l'ID de la ligne que vous souhaitez modifier. Vous pouvez remplacer «vert» par n'importe quel nom de couleur ou code couleur valide.
Puis-je modifier la couleur d'arrière-plan d'une ligne en fonction de son contenu?
Oui, vous pouvez modifier la couleur d'arrière-plan d'une ligne en fonction de son contenu à l'aide de JavaScript. Vous pouvez utiliser la propriété InnerHTML pour obtenir le contenu de la ligne, puis utiliser une instruction IF pour modifier la couleur d'arrière-plan en fonction du contenu. Voici un exemple:
var row = document.getElementById ("myrow");
if (row.innerhtml.includes ("important")) {
row.style.backgroundColor = "Yellow";
}
dans cet exemple, "MyRow" est l'identifiant de la ligne que vous voulez changer, " pour. Vous pouvez remplacer «jaune» par n'importe quel nom de couleur ou code couleur valide.
Comment puis-je modifier la couleur d'arrière-plan d'une ligne lorsque je le survrai?
Pour modifier la couleur d'arrière-plan d'une ligne lorsque vous en survolez, vous pouvez utiliser le: en survol de la pseudo-classe dans CSS. Voici un exemple:
#myrow: Hover {
background-Color: Pink;
}
Dans cet exemple, "MyRow" est l'ID de la ligne que vous souhaitez changer. Vous pouvez remplacer «Pink» par n'importe quel nom de couleur ou code couleur valide.
Puis-je modifier la couleur d'arrière-plan d'une ligne vers sa couleur d'origine?
Oui, vous pouvez modifier la couleur d'arrière-plan d'une ligne vers sa couleur d'origine à l'aide de JavaScript. Vous pouvez stocker la couleur d'origine dans une variable avant de la modifier, puis utiliser cette variable pour modifier la couleur. Voici un exemple:
var row = document.getElementByid ("myrow");
var originalColor = row.style.backgroundcolor;
row.style.backgroundcolor = "violet";
// pour modifier la couleur arrière:
row.style.backgroundColor = originalColor; «MyRow» est l'ID de la ligne que vous voulez changer. Vous pouvez remplacer «Purple» par n'importe quel nom de couleur ou code couleur valide.
pour modifier la couleur d'arrière-plan d'une ligne toutes les quelques secondes, vous pouvez utiliser la fonction SetInterval en JavaScript. Voici un exemple:
var row = document.getElementById ("myrow");
setInterval (function () {
row.style.backgroundcolor = getrandomcolor ();
}, 2000);
Dans cet exemple, "myrow" est un id de la row que vous voulez changer, et getRandom est un id de la row que vous voulez changer, et getrand, c'est un id de la row que vous voulez changer, et getRandom est un id de la Row que vous voulez changer, et getrand et getrandom est un id de la row que vous voulez changer, et Getrand et Getrando Renvoie une couleur aléatoire. Le nombre 2000 est l'intervalle en millisecondes (2000 millisecondes = 2 secondes).
Oui, vous pouvez modifier la couleur d'arrière-plan d'une ligne en fonction d'une condition à l'aide de javascript. Vous pouvez utiliser une instruction IF pour vérifier la condition, puis modifier la couleur d'arrière-plan si la condition est vraie. Voici un exemple:
var row = document.getElementById ("myrow");
if (somecondition) {
row.style.backgroundcolor = "orange";
}
Dans cet exemple, "myrow" est l'identification de la ligne que vous voulez changer, et une fois la condition que la condition que vous souhaitez vérifier. Vous pouvez remplacer «Orange» par n'importe quel nom de couleur ou code de couleur valide.
Pour modifier la couleur d'arrière-plan d'une ligne lorsque vous la sélectionnez, vous pouvez utiliser l'événement OnSelect en Javascript. Cependant, cet événement n'est pas couramment utilisé pour les lignes de table, car elle est généralement utilisée pour les champs d'entrée de texte. Une approche plus courante consiste à modifier la couleur d'arrière-plan lorsque vous cliquez sur la ligne, comme expliqué dans la question 3.
Puis-je modifier la couleur d'arrière-plan d'une ligne dans une colonne spécifique?
Oui, vous pouvez modifier la couleur d'arrière-plan d'une ligne dans une colonne spécifique à l'aide de JavaScript. Vous pouvez utiliser la propriété CellIndex pour obtenir l'index de la colonne, puis modifier la couleur d'arrière-plan de la ligne si l'index correspond à la colonne spécifique. Voici un exemple:
var row = document.getElementById ("myrow");
if (row.cells [0] .celLindex == SpécificColumn) {
row.style.backgroundColor = "Teal";
}
Dans cet exemple, "MyRow" est l'indice de la ligne pour vous de la colonne spécifique. Vous pouvez remplacer «Teal» par n'importe quel nom de couleur ou code couleur valide.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

JavaScript est au cœur des sites Web modernes car il améliore l'interactivité et la dynamicité des pages Web. 1) Il permet de modifier le contenu sans rafraîchir la page, 2) manipuler les pages Web via Domapi, 3) prendre en charge les effets interactifs complexes tels que l'animation et le glisser-déposer, 4) Optimiser les performances et les meilleures pratiques pour améliorer l'expérience utilisateur.

C et JavaScript réalisent l'interopérabilité via WebAssembly. 1) Le code C est compilé dans le module WebAssembly et introduit dans un environnement JavaScript pour améliorer la puissance de calcul. 2) Dans le développement de jeux, C gère les moteurs de physique et le rendu graphique, et JavaScript est responsable de la logique du jeu et de l'interface utilisateur.

JavaScript est largement utilisé dans les sites Web, les applications mobiles, les applications de bureau et la programmation côté serveur. 1) Dans le développement de sites Web, JavaScript exploite DOM avec HTML et CSS pour réaliser des effets dynamiques et prend en charge des cadres tels que JQuery et React. 2) Grâce à la réactnative et ionique, JavaScript est utilisé pour développer des applications mobiles multiplateformes. 3) Le cadre électronique permet à JavaScript de créer des applications de bureau. 4) Node.js permet à JavaScript d'exécuter le côté du serveur et prend en charge les demandes simultanées élevées.

Python est plus adapté à la science et à l'automatisation des données, tandis que JavaScript est plus adapté au développement frontal et complet. 1. Python fonctionne bien dans la science des données et l'apprentissage automatique, en utilisant des bibliothèques telles que Numpy et Pandas pour le traitement et la modélisation des données. 2. Python est concis et efficace dans l'automatisation et les scripts. 3. JavaScript est indispensable dans le développement frontal et est utilisé pour créer des pages Web dynamiques et des applications à une seule page. 4. JavaScript joue un rôle dans le développement back-end via Node.js et prend en charge le développement complet de la pile.

C et C jouent un rôle essentiel dans le moteur JavaScript, principalement utilisé pour implémenter des interprètes et des compilateurs JIT. 1) C est utilisé pour analyser le code source JavaScript et générer une arborescence de syntaxe abstraite. 2) C est responsable de la génération et de l'exécution de bytecode. 3) C met en œuvre le compilateur JIT, optimise et compile le code de point chaud à l'exécution et améliore considérablement l'efficacité d'exécution de JavaScript.

L'application de JavaScript dans le monde réel comprend un développement frontal et back-end. 1) Afficher les applications frontales en créant une application de liste TODO, impliquant les opérations DOM et le traitement des événements. 2) Construisez RestulAPI via Node.js et Express pour démontrer les applications back-end.

Les principales utilisations de JavaScript dans le développement Web incluent l'interaction client, la vérification du formulaire et la communication asynchrone. 1) Mise à jour du contenu dynamique et interaction utilisateur via les opérations DOM; 2) La vérification du client est effectuée avant que l'utilisateur ne soumette les données pour améliorer l'expérience utilisateur; 3) La communication de rafraîchissement avec le serveur est réalisée via la technologie AJAX.

Comprendre le fonctionnement du moteur JavaScript en interne est important pour les développeurs car il aide à écrire du code plus efficace et à comprendre les goulots d'étranglement des performances et les stratégies d'optimisation. 1) Le flux de travail du moteur comprend trois étapes: analyse, compilation et exécution; 2) Pendant le processus d'exécution, le moteur effectuera une optimisation dynamique, comme le cache en ligne et les classes cachées; 3) Les meilleures pratiques comprennent l'évitement des variables globales, l'optimisation des boucles, l'utilisation de const et de locations et d'éviter une utilisation excessive des fermetures.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP