我有一个数据属性为“ data-layout”的列表,它可以获得两个选项“垂直”和“水平”。
在我的CSS中,我根据布局更改列表项的display属性。
在chrome上,它可以按预期工作,但在IE(在IE11上经过测试)上,它不会通过更改重新绘制屏幕。
如果我输入IE的devtools并在Elements面板中选择其中一项,则只有它重新绘制为正确的状态。
这是问题的重现。
http://fiddle.jshell.net/dimshik/bss3je3u/
谢谢。
document.getElementById('toggle').addEventListener('click',function(){
var list = document.getElementById('list');
if(list.dataset.layout == 'vertical'){
list.dataset.layout = 'horizontal';
} else {
list.dataset.layout = 'vertical';
}
});Run Code Online (Sandbox Code Playgroud)
[data-layout="horizontal"] li {
display: inline;
padding: 0 10px;
}Run Code Online (Sandbox Code Playgroud)
<ul id="list" data-layout="vertical">
<li>A</li>
<li>B</li>
<li>C</li>
<li>D</li>
</ul>
<br>
<br>
<button id="toggle">Toggle Layout</button>Run Code Online (Sandbox Code Playgroud)