使用children改变样式()

时间:2012-03-28 23:53:13

标签: php javascript jquery

我想改变" b"使用儿童的颜色为红色。为什么上面的例子不起作用?我怎样才能使它发挥作用?

<div id="wrap">
    <div class="parent1">
        <div class="parent2">
            <b>Text</b>
        </div>
    </div>
</div>
$(function(){
    $('#wrap').children('parent1').children('parent2').$('b').css('color':'red');
})

这是我的jsFiddle示例:http://jsfiddle.net/L5aSt/

3 个答案:

答案 0 :(得分:1)

你的jQuery有很多问题(至少有四个不同的错误)。如果你想要像以前一样严格的事情,我会建议:

$('#wrap > .parent1 > .parent2').css('color', 'red');

演示:http://jsfiddle.net/jfriend00/hcTkh/

如果您只想.parent2下的#wrap个班级项目,那么我建议:

$('#wrap .parent2').css('color', 'red');

答案 1 :(得分:1)

$(function(){
    $('#wrap')
    .find('b').css('color','red');
})​;​

小提琴是here。 <{1}}内的所有b都是红色的。

#wrap

当您在一个电话中应用多个样式规则时,请使用以下一个

$('#wrap .parent2').css('color', 'red'); // Only b's inside parent2 of wrap.
$('#wrap .parent1').css('color', 'red'); // Only b's inside parent1 of wrap (if have any).

$('#wrap').find('b').css({'color':'red','font-size':'12px'}); // here an object has been passed as argument. 

答案 2 :(得分:1)

我倾向于同意其他答案。你所做的不是实现目标的“正确”方式:)。

那就是说,按照你使用代码的方法看起来像:

$('#wrap').children('.parent1').children('.parent2').children('b').css('color','red');

我将parent1更改为.parent1,因为您是按班级选择的。 parent2上的原因相同。 我在$之前将children替换为b,最后用逗号替换了颜色和红色之间的冒号(:)。