用.click(函数)改变p元素的颜色

时间:2009-12-16 11:48:32

标签: jquery

我正在尝试更改某些p元素的颜色,当它们被点击并且它们处于该状态时,但是当点击另一个p时,我需要将前一个p元素的颜色更改回正常,只是想知道如何做到这一点。

感谢

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

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

6 个答案:

答案 0 :(得分:1)

这应该达到你想要的......

$('.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");
});

给那个镜头......

答案 1 :(得分:0)

尝试:

$("p").not(this)

答案 2 :(得分:0)

在点击处理程序中,首先将所有p元素更改为普通,然后将单击的元素更改为其特殊颜色。

答案 3 :(得分:0)

您可以这样做:

  1. 遍历所有P
  2. 检查每个p
  3. 的当前颜色
  4. 使用if else检查以前的颜色是否适用新的其他适用于previos。

答案 4 :(得分:0)

$(function(){
    $('.slide span p').click(function() {
        $("p").css("color","black");
        $(this).css("color","red");
    });
});

答案 5 :(得分:0)

未测试:

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

或者你可以添加和删除css类,允许你定位活动P以获得更多效果:

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

当然,您必须在某处为activePara添加css样式。 我更喜欢第二种方法,因为显示的规则与css的其余部分保持一致,现在你在主动para上有一个类,允许你添加更多样式或更多jquery效果。