2009-12-16 4 views
0

J'essaie de changer la couleur de certains éléments p quand ils sont cliqués et pendant qu'ils sont dans cet état, mais quand un autre p est cliqué, je dois changez la couleur de l'élément p précédent à la normale, en vous demandant simplement comment il est possible de le faire.changer la couleur des éléments p avec .click (function)

grâce

$('.slide span p').click(function() { 
    var p =$(this); 
    p.css('color','#999'); 

      //not working with :not() 
      p:not().css('#color','#ffffff'); 
}); 

Répondre

0

Untested:

$('.slide span p').click(function() { 
     var p =$(this); 
     $('.slide span p').css("color", "#ffffff"); 
     p.css('color','#999'); 
}); 

Ou vous pouvez ajouter et supprimer des classes CSS, vous permettant de cibler le P actif pour plus d'effets:

$('.slide span p').click(function() { 
     $('.slide span p').removeClass('activePara'); 
     $(this).addClass('activePara'); 
}); 

Bien sûr, vous avez ajouter un style CSS pour activePara quelque part. Je préfère la seconde approche parce que les règles d'affichage sont conservées avec le reste du CSS, et vous avez maintenant une classe sur le para active, vous permettant d'ajouter plus de style, ou plus d'effets jquery.

0

Essayez:

$("p").not(this) 
+0

cela ne fonctionne pas non plus. – amir

0

Dans votre gestionnaire de clic, premier changement tous les éléments p à la normale, puis modifiez l'élément cliqué à sa couleur spéciale.

+1

comment puis-je faire cela? – amir

0

Voici comment vous pouvez aller:

  1. boucle par tous les Ps
  2. Vérifiez la couleur actuelle de chaque p
  3. Utilisez si d'autre pour vérifier si la couleur précédente appliquer de nouvelles appliquer d'autre previos.
0
$(function(){ 
    $('.slide span p').click(function() { 
     $("p").css("color","black"); 
     $(this).css("color","red"); 
    }); 
}); 
1

Cela devrait obtenir ce que vous voulez ...

$('.slide span p').click(function() { 
    //CHANGE ALL PARAGRAPHS WHO HAVE THIS CLICK EVENT BACK TO THE NORMAL COLOR 
    $(".slide span p").css("color","#FFF"); 

    //APPLY YOUR SPECIAL COLOR HERE TO THIS PARTICULAR P 
    $(this).css("color","#999"); 
}); 

Donnez un coup de feu ...

Questions connexes