动态添加div会导致奇怪的样式共享

时间:2012-05-23 10:50:42

标签: javascript jquery html css

在向现有div动态添加div时,我遇到了烦人的问题。我尝试使用appendChild函数,以及jQuery的追加函数;两者都给出相同的结果。你可以在这个jsFiddle上看到问题:

http://jsfiddle.net/debu/5b3Qr/

如果按“添加内容”按钮,它将添加动态创建的几个div。在for循环中,它创建一个div,然后在将它附加到“mainDiv”之前,将两个包含文本的div添加到其中。然后在for循环之外,我创建了另外两个div;其中一个应用了它的样式,其背景颜色设置为浅橙色。

问题是,在for循环中创建的div似乎继承了这种橙色背景颜色,即使......好吧,即使具有该背景的元素在之后添加了。而且它不像橙色背景div继承橙色之后的段落;它保持原样,白色。

我玩了很多,发现没有办法解决它。有什么想法吗?

干杯,

得不

1 个答案:

答案 0 :(得分:1)

事实证明,您正在添加已添加compHolder的div(类float:left)。 您需要使用popupHeader3清除clear:both;以阻止标题的背景影响这些3个div,然后才会出现奇怪的行为。

像这样:

.popupHeader3 {
    background-color: #FFBA9B;
    margin-top:1px;
    color: #000000;
    font-family: "ProximaNova";
    font-size: 18px;
    clear:both;
}

请参阅:http://jsfiddle.net/zyZ7Z/