2012-05-21 5 views
1

Am ayant plusieurs boîtes (plus de 100) qui crée de manière dynamique aveccouleur de fond css n'affiche

<div id="window5"></div> 
<div id="window18"></div> 
<div id="window190"></div> 

il y aura des couleurs par défaut différentes présentes dans différentes cases en fonction des conditions de base de données. Maintenant, si je clique sur une case, la couleur devrait être grise, puis si je clique sur l'autre case, la couleur devrait être changée en rouge (la première case devrait revenir à la normale) .J'obtiens la couleur grise (onclick) seulement quand ma couleur par défaut n'est pas présente. Si certaines couleurs sont présentes, la couleur grise se cache sous les couleurs par défaut d'origine. Y a-t-il une propriété css pour résoudre ce problème?

Mon fichier css:

.selected{ 
    background-color: red; 
} 

utilisé code JavasScript comme;

$(document).ready(function() { 
     $("div[id *= 'window']").live('click', function (e) { 

      $(".selected").removeClass("selected"); 
      $(this).addClass("selected"); 
      e.stopPropagation(); 
     }); 
     $(document).click(function() { 
      $(".selected").removeClass("selected"); 
     }); 
    });  

</script> 
+1

Comment faites-vous les boîtes grises? Si vous définissez 'style = background-color: grey', cela remplacera la couleur de la classe ajoutée. – geekchic

+1

est votre classe .selected ci-dessous l'autre css? Vous pouvez toujours essayer background-color: red! – Gijoey

+1

Pouvez-vous créer un http://jsfiddle.net/ avec votre problème exact - plus facile lorsque vous présentez l'ensemble du code – ManseUK

Répondre

0

Si vous spécifiez déjà une couleur d'arrière-plan dans une feuille de style alors qui prend probablement la priorité. Pour surmonter cela, vous pouvez soit utiliser des styles en ligne ou la directive! Important.

background-color:red!important; 
0

de doesnt du div ont une taille donc il n'y a pas d'arrière-plan à afficher.

Si vous mettez afficher le texte dans votre div ou que vous lui donnez une largeur & la hauteur, il affichera votre fond