我试图在IE11中执行Javascript函数,但是我在appendChild上得到了一个InvalidCharacterError。
function fixWidth(){
var elems=document.getElementsByTagName("*");
for(e=0; e<elems.length; e++){
var eCurStyle = elems[e].currentStyle;
var l_minWidth = (eCurStyle.minWidth) ? eCurStyle.minWidth : eCurStyle.getAttribute("min-width");
if(l_minWidth && l_minWidth != 'auto'){
var shim = document.createElement("DIV");
shim.style.cssText = 'margin:0 !important; padding:0 !important; border:0 !important; line-height:0 !important; height:0 !important; BACKGROUND:RED;';
shim.style.width = l_minWidth;
shim.appendChild(document.createElement(" "));
elems[e].appendChild(shim);
}
}
}
window.onload = fixWidth;它在IE8上正确工作。但在IE11上却没有。
发布于 2015-04-20 14:06:16
这是IE8中的一个bug,而不是IE11中的错误
document.createElement(" ")不应该真的在任何地方工作,因为一个不破坏的空间不是一个元素。
铬给出错误
Uncaught :未能在'createElement‘上执行’createElement‘:提供的标记名(
' ')不是有效的名称。
我怀疑几乎任何浏览器,但是IE8会在这上面抛出一个错误
如果您想要向元素中添加一个不间断的空间,您可以这样做。
shim.innerHTML = shim.innerHTML + " ";https://stackoverflow.com/questions/29750096
复制相似问题