在div元素中更改“P”标记文本颜色

时间:2011-10-20 21:36:30

标签: javascript jquery html css

如何使用jQuery更改p标签文本颜色css属性?我不想改变所有的p标签,只是一个特定的标签....

如果没有为每个p标签添加id,是否可以这样做?

<div class = "custimage"><img src = "img/notch.jpg" alt = "notch"/><p>Notch</p></div>
<div class = "custimage"><img src = "img/peak.jpg" alt = "peak"/><p>Peak</p></div>
<div class = "custimage"><img src = "img/shawl.jpg" alt = "shawl"/><p>Shawl</p></div>

编辑:

我希望它能够在用户点击特定的custimage时更改p标签文本颜色。我试过了:

$('.custimage').click(function(e) {
               var cssObj = {
                  'background-color' : '#fff'
               }
               $(this).css(cssObj);
               $('this p').css({color: '#000'});
});

这不起作用。使用$('.custimage p').css({color: '#000'});更改所有图像中文本的颜色......

4 个答案:

答案 0 :(得分:6)

你应该能够像这样更改点击的.custimage div中的p标签的颜色:

$('.custimage').click(function(e) {
    $(this).find('p').css({color: '#000'});
});

.find()函数遍历DOM树以查找与给定选择器匹配的任何标记。您可以在http://api.jquery.com/find/

了解有关.find()功能的更多信息

答案 1 :(得分:1)

$(“。custImage p”)会让你在该类的div中获得所有p标签。然后你可以做你想做的事。如果你给我更多信息,我会给你一个更好的选择。

答案 2 :(得分:0)

使用文本内容作为选择器更改特定的“p” -

$("p:contains('Notch')").css("color","red");

使用单击的.custimage类来获取div中的那个 -

$('.custimage').click(function(e) {$(this).find('p').css("color","red")});

答案 3 :(得分:0)

$('p').each(function(index) {
    //Lets say you want to target P number 2
    if(index = "2")  {
        $(this).css('color','red');
    }
});

或者你可以定位图片或alt标签..这对你有用吗?