【发布时间】:2015-10-13 19:29:04
【问题描述】:
我有一个带有数据属性“数据布局”的列表,它可以得到“垂直”和“水平”两个选项。
在我的 CSS 中,我根据布局更改列表项显示属性。
在 chrome 上它按预期工作,但在 IE 上(在 IE11 上测试)它不会随着更改重绘屏幕。
如果我进入 IE 的 devtools 并选择元素面板中的项目,那么只有它重绘到正确的状态。
这是问题的重现。
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';
}
});
[data-layout="horizontal"] li {
display: inline;
padding: 0 10px;
}
<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>
【问题讨论】:
-
哎呀!真可惜。这似乎是 IE-11 的一个错误。在进行快速网络搜索时,我找不到任何错误信息。同时,您可以使用
getAttribute和setAttribute来完成您的工作:jsfiddle.net/abhitalks/x2tg4uhu/embedded/result
标签: css internet-explorer custom-data-attribute