动态添加元素时,CSS nth-child 属性无法正常工作

标签 css css-selectors

我在我的页面中定义了一些div

<div class="alternating">random text</div>
<div class="alternating">random text</div>
<div class="alternating">random text</div>
<div class="alternating">random text</div>
<div class="alternating">random text</div>

我添加了一个CSS属性

.alternating:nth-child(even){
    background: #FF0000;
}

在加载页面时,一切看起来都很好,偶数行是彩色的。 但是当我向这个 div 的父级添加一个新的 div 时(使用 Knockout 和 jquery),新添加的行没有显示正确的颜色。 这意味着如果我的最后一行是奇数(没有颜色),新添加的 div 也没有颜色。 或者,如果最后一个 div 是偶数(带有颜色),则新添加的 div 也会带有颜色。

但之后又恢复正常了。 我的问题仅在于添加第一个 div。

有什么想法吗?

最佳答案

这里有点FIDDLE其中我从 DOM 中的 div 开始,然后通过单击添加它们。

相关:JS

$('.button').click(function() {
    $('.holder').append("<div class='inside'>dynamic div</div>");
});

相关的 CSS

.holder {
    width: 300px;
    height: 400px;
    border: 1px solid black;
}
.inside {
    height: 30px;
    border: 1px solid black;
}
.inside:nth-child(even) {
    background-color: blue;
}

关于动态添加元素时,CSS nth-child 属性无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17750560/

相关文章:

css - 根据高度和宽度之间的最大值更改背景图像尺寸

javascript - 在 :hover 上加载 gif 占位符

selenium - 我需要通过 CSS 在 Selenium 中找到一个元素

css - 是否有 CSS 父级选择器?

javascript - 使用javascript从DOM树中删除p元素

CSS "::"含义

css - 如何更改定位为 anchor 的 div 的颜色?

javascript - 覆盖标签?

html - 如何在 h2 之后放置固定宽度的居中边框底部?

css - 如何在 CSSResource 中使用非标准的 CSS 选择器