根据另一个div中的元素更改一个div的CSS属性

时间:2013-11-19 13:34:39

标签: jquery html css dom jquery-selectors

如果右div不包含图像,我需要更改左div的css属性。

<div class="wrapper">
    <div class="pg-left-bar"></div>
    <div class="pg-right-bar">
        <img src="img.jpg">
    </div>
</div>

http://jsfiddle.net/paycb/1/

如果右侧div没有图像,则左侧div宽度应更改为100%并从左侧div中删除边距,并将右侧div的显示属性更改为none

我知道如果我在同一个div中寻找元素时如何使用jquery更改css属性

$('.pg-right-bar').has('img').css({ 'background-color': '#fff' });

但我不知道如何为上述情况做到这一点。

感谢任何帮助

更新

Jquery Code来实现这个

if ( $('.pg-right-bar').has('img').length > 0 )
{
    $('.pg-left-bar').css({ 'background-color': '#ccc' });

}
else
{
     $('.pg-left-bar').css({ 'margin-right': '0px' });
     $('.pg-left-bar').css({ 'width': '100%' });
     $('.pg-right-bar').css({ 'display': 'none' });
}

http://jsfiddle.net/paycb/4/

1 个答案:

答案 0 :(得分:1)

<强>示例
http://jsfiddle.net/paycb/2/

<强> JS

if ( $('.pg-right-bar').has('img').length > 0 )
    $('.pg-left-bar').css({ 'background-color': '#fff' });

jQuery选择器限制所选元素的数量。如果没有has() - 标记可用,则使用0将对象计数限制为img。 据我所知,这个场景无法用纯CSS解决。我在JS中给你一个例子。