Projet

Général

Profil

Actions

Anomalie #2174

ouvert

La sélection d'une ligne dans un tableau efface les classes CSS pré-existantes sur le <TR/>

Ajouté par Jérôme Augé il y a plus de 14 ans. Mis à jour il y a environ 12 ans.

Statut:
Nouveau
Priorité:
Bas
Assigné à:
-
Version cible:
Début:
28/10/2011
Echéance:
% réalisé:

0%

Temps estimé:
3:00 h
Version source:
Solution proposée:
Principaux fichiers impactés:
Complexité:
Simple
Contrôle:

Lors de l'édition d'un document avec tableau, vérifier avec l'inspecteur DOM que les classes des tr ne sont pas enlevées. Les classes spécifiques seront mises à la main avec l'inspecteur DOM.
Pas de TAUFU.

Thème:
Régression:

Description

Si on ajoute des classes aux TR d'un tableau, alors, lors de la sélection d'une ligne, la fonction selecttr() va effacer le className, sur le TR sélectionné, pour positionner sa classe "selecta". De même lors de la dé-sélection de la ligne, il va remettre className à blanc.

Il faudrait que selecttr() n'ajoute, ou n'efface, que sa classe "selecta" et ne touche pas aux autres classes qui seraient positionnées :

function selecttr(o,tr) {
  ...
  if (seltr) {
      /* Enlever seulement la classe "selecta" */
      seltr.className = seltr.className.replace(/\s*\bselecta\b/, '');
  }
  ...
  /* Ajouter seulement la classe "selecta" */
  seltr.className = seltr.className + ' ' + 'selecta';
  ...
}

Le problème n'est pas que dans selecttr(), et d'autres partie sont cassés par la présence de plusieurs classes dans className.

Idem pour voir si un élément est d'une classe donnée, il est préférable de voir s'il contient la classe plutôt que de faire une comparaison stricte :

  /* elmt ne sera pas detecté comme étant de classe "foo" si className="foo bar bar" */
  if( elmt.className == 'foo' ) { ... }

  /* elmt sera bien détecté comme étant de classe "foo" */
  if( elmt.className.match(/\bfoo\b) ) { ... }

Sinon, on peut aussi utiliser jQuery et ses méthodes addClass(), removeClass() et hasClass().

Mis à jour par Éric Brison il y a plus de 14 ans

  • Temps estimé mis à 3:00 h
  • Complexité mis à Simple
  • Priorité changé de Normal à Bas
  • Version cible mis à 3.2 rx

Mis à jour par Éric Brison il y a plus de 14 ans

  • Contrôle mis à jour (diff)

Mis à jour par Marc Claverie il y a environ 12 ans

  • Version cible changé de 3.2 rx à 3.3.0

Mis à jour par Marc Claverie il y a environ 12 ans

  • Version cible changé de 3.3.0 à 3.3#Document
Actions

Formats disponibles : Atom PDF