我有一个 ".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/