2013-02-08 58 views
0
<html> 
<head> 
<script src="jquery.min.js"></script> 
</head> 
<body> 
<div id="disp"> 
    <div> 
     hi how are u 
    </div> 
    <div style="position:absolute;left:50px;top:100px;"> 
     hello 
    </div> 
</div> 
<script type="text/javascript"> 
    $(function(){ 
    $("#disp").css({"background-color":"#00ff00"}); 
    }); 
    </script> 
</body> 
</html> 

如果你运行这段代码它会打印两个div一个是“你好,你好”和“你好”这里一个div有绿色一个是白色我有改变父div的颜色属性。我的问题是,为什么下一格是没有得到绿色,我知道这个问题是绝对位置如何,我可以处理这种情况更改在父母的div div绝对div的css

+2

没有得到你,你能解释更多 – Cris

+1

'我想改变绝对位置div与父母身份的属性'解释它在一个更好的方式。 – Jai

+0

所以你想使用父母的ID应用父div的CSS到子div? – qwerty

回答

0

在这里,你可以试试这个

$('#disp > div').eq(1).css('background-color', 'red'); 

希望这有助于..

+0

我想给所有的孩子div与父母身份 –

+0

是一样的颜色是按照相同的程序删除.eq()然后它会选择父元素的所有孩子。 – Dharmendra

0

您可以使用nth-child CSS选择器(即选择在#disp容器中的第二个孩子的div):

$("#disp div:nth-child(2)").css({"background-color":"#00ff00"}); 

然后,您可以修改你希望的CSS样式。

+0

是否有可能与单选择我必须给所有我的孩子div.a相同的颜色,因为我有随机生成的div我不能在这里选择子div –

0

我没试过,但我想知道,像下面将工作:

$("#disp div).filter(function() { 
    return $(this).css("position") == "absolute"; 
}).css({"background-color":"#00ff00"}); 
0

你应该写CSS而不是jQuery的

#disp > div { 
    background:#00ff00; 
    } 
+0

对不起,你可以解释更多 –

+0

为什么你需要在jQuery中的风格? –

1

就继承父的背景色物业:

<div style="position:absolute;left:50px;top:100px; background-color: inherit"> 
+0

@Francis Stalin无论你在父div上应用什么背景色,子div都会继承它。你可以让你的子div继承parent div的其他属性。希望它能帮助你解决你的问题。 – qwerty

+0

它的工作背景。如果我想要像处理div内容那样处理div内容,就像那样 –

+0

@FrancisStalin只有css属性可以被继承。不幸的是,**内容**不是其中之一;)。但你可以使用javascript/jquery动态添加任何div的内容到其他div,但为此你应该提供一些id.AFAIK这不是CSS的工作。 – qwerty