Évolution des éléments de style basé sur le contenu de la cellule
J'ai un tableau, comme ceci:
<table>
<tr>
<td>one</td>
<td>two</td>
</tr>
<tr>
<td>three</td>
<td>one</td>
</tr>
</table>
À l'aide de Javascript, comment puis-je rechercher la table et le changement d'un élément de style (par exemple,backgroundColor
) sur la base du contenu d'une cellule (par exemple, faire de la couleur d'arrière-plan de toutes les cellules avec le mot " un " en rouge)?
OriginalL'auteur user1129274 | 2012-01-04
Vous devez vous connecter pour publier un commentaire.
DÉMO
OriginalL'auteur Adam Rackis
Voici le code qui recherche la table et définit la couleur d'arrière-plan de toutes les cellules qui le contenu est "l'un". Je suppose que vous pouvez adapter pour vérifier pour d'autres valeurs:
avec ce code HTML:
Et voici un travail de démonstration: http://jsfiddle.net/jfriend00/Uubqg/
OriginalL'auteur jfriend00
Utilisation
getElementsByTagName()
pour retourner les cellules, et de faire correspondre les termes dans leurinnerText
propriété:Note: Ce sera le match le mot "un" n'importe où dans la cellule.
Ici, il est en action sur jsFiddle.
OriginalL'auteur Michael Berkowski
Aussi, un jQuery exemple (pour la totalité de l'image)
Démo: http://jsbin.com/ulexub
OriginalL'auteur Sergio Tulentsev
Pourquoi utiliser Javascript pour faire cela? Au lieu de livrer le tableau avec les cellules ayant la classe par exemple
Puis il suffit d'utiliser CSS pour mettre en forme le contenu que vous voyez l'ajustement.
Si vous avez vraiment besoin d'utiliser le Javascript, vous devez regarder dans le DOM. Il y a plusieurs références en ligne, par exemple http://www.howtocreate.co.uk/tutorials/javascript/domstructure
Vraiment, une partie du serveur ou du Javascript doit placer les données dans la cellule - donc en mesure de définir la classe.
Mais vous ne pouvez pas vous concocter un nom de classe pour chaque valeur de cellule.
Exemple (basé sur Adam Rackis réponse): jsfiddle.net/CjW77/1
Oui, vous peut - Il existe un nombre fini de cellules. Seulement le nombre: cell1 cellule2 .... Mais la question implique que la personne veut toutes les cellules avec une valeur particulière pour avoir un style. La solution que j'ai donnée avec l'utilisation de Javascript est à la fois plus facile et fonctionne également pour les personnes qui n'ont pas javascript activé.
OriginalL'auteur Ed Heal
Je voulais une solution dynamique, fondée sur la valeur et ne présente
OriginalL'auteur citynorman