在通过js脚本添加页面元素的时候,出现document.body为空或不是对象

我想通过js在页面上body之前添加一个a标签,但是老是显示document.body为空或不是对象,麻烦大神们看下,谢谢了<scripttype="text/javas... 我想通过js在页面上body之前添加一个a标签,但是老是显示document.body为空或不是对象,麻烦大神们看下,谢谢了

<script type = "text/javascript">
// var htmlbody = (document.documentElement)?document.documentElement:document.body;
var a = document.createElement('a');
document.body.appendchild(a);
a.innerHTML = '<a href = "http://www.baidu.com" >百度一下你就知道</a>';

</script>
展开
 我来答
百度网友090def6
2014-04-17 · TA获得超过2211个赞
知道小有建树答主
回答量:558
采纳率:100%
帮助的人:711万
展开全部

 两种方式解决

  1. 封装函数

把你现有逻辑封装到一个funcation中,在页面onload加载时执行

 

<script> 
window.onload = function () { 
    var a = document.createElement('a');
    document.body.appendchild(a);
    a.innerHTML = '<a href = "
" >百度一下你就知道</a>'; 

</script>

2.  自动执行

     和你目前方式一样,但先要弄清原理

     因为HTML为逐行加载,所以页面加载时,document.body还没有生成,所以显示document.body为空或不是对象

     但只要把你js代码换个位置即可,由于要使用到body标签,那么就移动到body后即可

 

<body>

<body>

<script>

     ....你的代码

</script>

yugi111
2014-04-17 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
<script>
window.onload = function () {
    var _body = document.body;
    var _a = document.createElement("a");
    _body.appendChild(_a);
}
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
计算机杂学铺
2014-04-17 · TA获得超过631个赞
知道答主
回答量:289
采纳率:0%
帮助的人:85.7万
展开全部
<HTMLBodyElement> has no method 'appendchild'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式