Javascript appendChild追加到IE中元素的右侧
我动态地将一个div附加到另一个动态创建的div。在IE中,它显示在元素的右侧,但在所有其他浏览器中,它显示在元素的底部。我希望它显示在底部,就像在FF和Chrome中一样。有什么建议吗 汽车整车与:[萨博、沃尔沃、宝马、Mini、MiniMonster] 即 非IE 已解决: 我使用的是divEl.setAttributestyle,top:+top+px;左:+left+px;宽度:+宽度+px IE与setAttribute有问题。因此,我转而:Javascript appendChild追加到IE中元素的右侧,javascript,css,internet-explorer,appendchild,Javascript,Css,Internet Explorer,Appendchild,我动态地将一个div附加到另一个动态创建的div。在IE中,它显示在元素的右侧,但在所有其他浏览器中,它显示在元素的底部。我希望它显示在底部,就像在FF和Chrome中一样。有什么建议吗 汽车整车与:[萨博、沃尔沃、宝马、Mini、MiniMonster] 即 非IE 已解决: 我使用的是divEl.setAttributestyle,top:+top+px;左:+left+px;宽度:+宽度+px IE与setAttribute有问题。因此,我转而: divEl.style.top = top
divEl.style.top = top + "px";
divEl.style.width = width + "px";
divEl.style.left = left + "px";
我会在您的例子中使用定位,因为绝对定位总是会受到窗口大小和其他因素的影响,即使从您的JSFIDLE中也可以清楚地看到,它在使用Chrome时出现在错误的位置。
因此,我将CSS更改为:
#matches_tooltip {
position: relative;
top: 0;
left: 0;
display: none;
background-color: #FFFFFF;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-color: #E0E0E0;
border-width: 1px;
cursor: pointer;
text-align: left;
}
我不能在IE中测试,但在所有浏览器中都应该可以。请注意,我修改了您的javascript以不设置位置属性。试试这个
.options_text {
position: relative;
text-align: center;
}
并将javascript呈现修改为:
element.style {
bottom: -26px;
display: inline;
left: 12px;
visibility: visible;
width: 286px;
}
女巫版的IE?我看到IE9IE9中的相同布局也有问题,Opera也有问题。罪魁祸首是通过JS注入的上/左值。[已解决]我使用的是setAttribute函数。这是我不喜欢的。我更改了代码以直接修改属性,现在正在工作。我想使用绝对位置,以便自动完成显示覆盖包装中的其他项目。