考虑这个 HTML:
<ul>
<li>first</li>
<li>second</li>
<li>third</li>
</ul>
这个CSS:
li:first-child { background: yellow; }
还有这个 JavaScript(jQuery):
$("ul").append($("li:first-child"));
http://fiddle.jshell.net/Xtuaf/ http://fiddle.jshell.net/Xtuaf/
显然在IE浏览器 (8) :first-child
当 DOM 改变时会中断。我用 Javascript 写了一个解决这个问题的方法(在那里做样式;z-index
在我的例子中是这样)。这是一个丑陋的快速修复,我想摆脱它。更好的解决方案是在 DOM 更改时强制重新应用样式表。这可以做到吗?或者这个问题还有其他解决方案吗?
在 Internet Explorer 中,可以通过设置类名来触发重排:
$("ul").append($("li:first-child")).addClass('x').removeClass('x');
或者只是(演示:http://fiddle.jshell.net/Xtuaf/1/ http://fiddle.jshell.net/Xtuaf/1/):
$("ul").append($("li:first-child"))[0].className += '';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)