我有一些表格具有绝对位置的表格。算法检查字段集是否重叠,在这种情况下通过修改elem.style.height来修改该字段集的高度。这对我到目前为止测试的每个浏览器都适用,直到FireFox 41.0.2版本。
以下是复制案例的简化小提琴:https://jsfiddle.net/ty44monr/
<div id="parent">
<fieldset id="mydiv" class="default"></fieldset>
<div id="output"></div>
</div>
.default{
position:absolute;
height:120px;
width:120px;
top:10px;
border:5px solid #808000;
}
function recurceDiv(elem){
//document.getElementById("output").innerHTML += elem.nodeType;
if (elem.nodeType == 1){
elem.style.height = 300 + 'px';
var children = elem.childNodes;
for (var i=0,len=children.length;i<len;i++){
recurceDiv(children[i]);
document.getElementById("output").innerHTML += "t : "+elem.offsetHeight + " ";
}
}
}
recurceDiv(document.getElementById("parent"));
字段集在Chrome,Opera,IE11中正确显示300px高度(+边距/填充)但在FireFox 41.0.2中没有(但在FireFox 40.0中有效)
如果我使用div而不是fieldset,那么效果很好:https://jsfiddle.net/64a5znuh/
有人对此FireFox行为有解释,还是应该在Firefox bugzilla中发帖?
由于
- 编辑26/10:
Firefox bug确认bugzilla:Bug 1217831 - Modify the height of a fieldset by js doesn't work under certain circumstances
答案 0 :(得分:1)