jquery addClass ne fonctionne pas sur TableCell
Question
J'ai besoin d'aide avec ce
Je suis en train de le faire
if(perc>0){
alert('change backgroundcolor and textcolor');
$('#stocktable tr td:last').addClass('stockhigher');
}
mais il ne fonctionne pas sur un TableCell
J'ai aussi try'd pour régler le sélecteur comme celui-ci
$('#stocktable tr td:eq(2)).addClass...
$('#stocktable tr td.percentage').addClass...
rien!
il ne fonctionne sur la table elle-même ou un tablerow comme
$('#stocktable tr')
suis-je manque quelque chose ici?
Merci, Richard
La solution
Trois choses viennent à l'esprit:
- Vous utilisez le pseudo-élément
:last
. Cela correspond au plus un total élément, dans ce cas, la dernière cellule de tableau dans « StockTable ». Voulez-vous dire peut-être:last-child
à la place? - Vous utilisez
:eq(2)
qui correspondra à la troisième dans tout l'ensemble seulement. Voulez-vous dire peut-être:nth-child(2)
? -
$("#stocktable tr td.eq(2)).addClass...
manque et fin de citation; et - Il n'y a rien de mal à ce que vous faites. Qu'est-ce qui ne fonctionne pas avec précision? Peut-être qu'il est pas le formatage qui peut être appliqué à une cellule de tableau.
Pour expliquer plus en détail (1) imaginez que vous avez une table avec 3 rangées de 4 cellules avec un id de « mytable ». Ce code:
$("#mytable td:eq(2)").css("background", "yellow");
couloureront troisième élément de la première rangée (:eq()
est à base zéro), alors:
$("#mytable td:nth-child(2)").css("background", "yellow");
couloureront secondes cellule chaque rangée.
$("#mytable td:last").css("background", "yellow");
colorera la dernière cellule dans la dernière rangée, mais:
$("#mytable td:last-child").css("background", "yellow");
colorera la dernière cellule dans chaque ligne.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow