如何制作父母的背景颜色,与最后一个孩子一样?

时间:2014-08-24 21:20:52

标签: jquery parent equals background-color children

我希望让父div更改其背景颜色,具体取决于其子颜色(包括css:悬停状态)。这是我能想到的最好的,但它不起作用......

if ($('.selector:last-child').css('background-color') == '#dddddd') {
    $('.controler').css('background-color', '#dddddd');
}
else if ($('.selector:last-child').css('background-color') == '#2a2a2a') {
    $('.controler').css('background-color', '#2a2a2a');
}
else {
    $('.controler').css('background-color', '#ffffff');
}

3 个答案:

答案 0 :(得分:0)

这是因为jQuery返回你的背景而不是HEX而是rgb,所以你可以改变你的代码,如

if ($('.selector:last-child').css('background-color') == 'rgb(255, 255, 0)') {
    $('.controler').css('background-color', 'rgb(255, 255, 0)');
}

Fiddle

答案 1 :(得分:0)

您可以使用子项设置父级的background-color属性:

$('.controler').css('background-color', $('.selector:last-child').css('background-color'));

然后,只要背景颜色发生变化,你就需要触发它。

答案 2 :(得分:0)

这是一个有趣的问题,因为如果css继承。我建议让子元素具有“background-color:inherit”并仅更改父元素的背景颜色。之后,您只需要jsfiddle的第二部分。 如果你不想这样做,这里是一个答案:Fiddle

How the heck do you post links to jsFiddle?