首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只在IE中带appendChild的appendChild

只在IE中带appendChild的appendChild
EN

Stack Overflow用户
提问于 2015-04-20 14:02:45
回答 1查看 1K关注 0票数 1

我试图在IE11中执行Javascript函数,但是我在appendChild上得到了一个InvalidCharacterError。

代码语言:javascript
复制
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("&nbsp;"));
         elems[e].appendChild(shim);
      }
   }
}
window.onload = fixWidth;

它在IE8上正确工作。但在IE11上却没有。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-20 14:06:16

这是IE8中的一个bug,而不是IE11中的错误

代码语言:javascript
复制
document.createElement("&nbsp;")

不应该真的在任何地方工作,因为一个不破坏的空间不是一个元素。

铬给出错误

Uncaught :未能在'createElement‘上执行’createElement‘:提供的标记名('&nbsp;')不是有效的名称。

我怀疑几乎任何浏览器,但是IE8会在这上面抛出一个错误

如果您想要向元素中添加一个不间断的空间,您可以这样做。

代码语言:javascript
复制
shim.innerHTML = shim.innerHTML + "&nbsp;";
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29750096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档