javascript - 元素:first-child force reevaluate

标签 javascript jquery css

我有一个 ".hidden" 类,我实时构建 DOM 元素。所以我得到一个简单的代码,例如:

...
    <div class="hidden">1</div>
    <div class="hidden">2</div>
    <div class="hidden">3</div>
...

我的 CSS 定义不仅仅是简单:

.hidden {
display: none;
}

.hidden:first-child {
display: block;
}

一切都好,大家都开心。现在,如果我执行类似以下操作: $('.hidden:first-child').remove() 它会删除,但下一个元素不会出现。它似乎只在我单击开发者控制台中的 DOM 节点时才会出现(chrome 中的 ctrl+shift+i)。

有什么想法如何强制浏览器评估 CSS 规则吗?

更新 这是jsFiddle test case 。单击按钮后,您将看到“0”,没有其他数字,应该是“1”,然后是“2”,依此类推。

结论: 奇怪的是,但是如果我在remove()之前删除fadeOut(400),它就会起作用。

最佳答案

尝试使用 css 伪类 :first-of-type 而不是 :first-child

这是 jsFiddle 的一个工作示例:http://jsfiddle.net/jukDU/3/

关于javascript - 元素:first-child force reevaluate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10124977/

相关文章:

css - 如何在 flex 容器中排列两个居中 div 的顶部?

javascript - typeof foo 和 typeof(foo)/delete bar 和 delete(bar) 之间有什么区别,为什么我们需要两者?

jquery - 如何将 bootstrap btn-group 中的菜单 float 到左侧?

c# - 直观地提取html元素

javascript - 灯箱不会触发 onclick

php - 在 Lightbox 上定位关闭按钮

css - Chrome 不尊重显示 : inline on flexbox children

javascript - div 上的 Jquery 动画,然后删除

javascript - 本地 Flask - HTML 元素链接到 CSS 和 JS 运行时未链接

javascript - 使用 window.print() 时打印输出中的像素化文本