使用.prev()设置当前元素css

时间:2015-08-11 02:24:48

标签: jquery css

我已经预先创建了HTML,我无法编辑。
我要做的是让所有bar-appointment的颜色与之前的bar-something背景颜色相同

我有以下HTML

<div class="bar-something"><div class="fn-label"> SOMETHING</div> </div>
<div class="bar-appointment"><div class="fn-label"> Ap1</div></div>
<div class="bar-appointment"><div class="fn-label"> Ap2</div></div>
<div class="bar-appointment"><div class="fn-label"> Ap3</div></div>
<div class="bar-something-else"><div class="fn-label"> SOMETHING</div></div>
<div class="bar-appointment"><div class="fn-label"> Ap1</div></div>
<div class="bar-appointment"><div class="fn-label"> Ap2</div></div>
<div class="bar-appointment"><div class="fn-label"> Ap3</div></div>

和jquery

$('.bar-appointment .fn-label').css('color',$('.bar-appointment').prev().children().css('background-color'))

它没有完全正常工作,因为它只选择第一个bar-something并将其应用于其余部分。请参阅以下JSFIDDLE

1 个答案:

答案 0 :(得分:3)

尝试

$('.bar-appointment').each(function(){
        $(this).find('.fn-label').css('color', $(this).prevAll(':not(.bar-appointment)').first().find('.fn-label').css('background-color'))
})

jsfiddle