Home  >  Q&A  >  body text

javascript - 完全搞不懂appendChild竟然也有错误,而且莫名其妙,大家帮帮看一下

p=document.createElement("p");
img=document.createElement("img");
p.appendChild(img);
document.body.appendChild(p);//竟然说我的appendChild,错误: 无法获取未定义或 null 引用的属性“appendChild”???完全搞不懂怎么回事

p.style.width="100px";
p.style.height="100px";
p.style.border="red 1px groove";
p.style.overflow="hidden";
p.style.backgroundImage="images/placeholder.gif";

巴扎黑巴扎黑2683 days ago260

reply all(3)I'll reply

  • 巴扎黑

    巴扎黑2017-04-10 17:04:11

    出现这种无法获取未定义或null引用的属性报错提示,
    说明在文档DOM结构尚未加载完成之前,脚本(script)就开始操作DOM啦。

    打个不太好的比方来说,没有筷子怎么夹菜?你有手,但是没筷子怎么吃呢?

    这种情况的解决办法通常分为两种

    1. 将script脚本写在闭合标签</script>

    2. 将script中的代码段全部放进window.onload=function(){代码写在这}

    楼主问题描述有点模糊,但上述方案应该能解决你的问题。

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 17:04:11

    如果没有上下文,这些句子在这里没有错误,可以正确执行。如果有执行上下文,错误原因在上下文中。请一并帖出。

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 17:04:11

    未加载DOM完成**

    reply
    0
  • Cancelreply