我有一个".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节点时出现(ctrl + shift + i in chrome)。
想法如何强制浏览器评估CSS规则?
UPDATE 这是一个jsFiddle test case。一旦点击了按钮,你会看到“0”,没有其他的数字,它应该是“1”,然后是“2”,依此类推。
结论: 奇怪,但如果我删除之前删除淡出(400)()它的工作原理。
是否能重现测试用例?我相信,只要DOM发生变化,浏览器就会重新评估CSS。 – BoltClock 2012-04-12 13:52:08
@Sven Bieder:这并不重要,因为':first-child'看着一个元素,而不是它的内容。第一个'.hidden'元素仍然是第一个孩子(假设所有这些元素都有这个类) - 删除它,第二个应该成为第一个。 – BoltClock 2012-04-12 13:55:10
http://jsfiddle.net/umt3q/正常工作 – jAndy 2012-04-12 13:55:48