坑爹的document.write()


     新手学习javascript,都习惯从document.write()入手,这个看起来易懂的语句,如果不好好用的话会给你的后面的学习带来很大的麻烦

     本来想着学习一下innerHTML的使用,于是我写下了如下代码:

 

<html>
<head>
<title>length</title>
<script type="text/javascript">
window.onload = function()
{

var txt="hello world";
document.write (txt.length);
var txt1=document.getElementById("d");
txt1.innerHTML="string";
} 
</script>

</head>

<body>
<div id="d"></div>
</body>
</html>



 


这段看似没有问题的代码,却能给我的程序带来很大的隐患,通过浏览器测试的结果只有:11

这个只是hello world的字符串长度,我调试后发现:

程序一直找不到<div id="d"></div>,之前一直以为是window.onload 拼写之类的问题,

到后来才发现原来是这个坑爹的document.write()惹得祸,因为这个语句重写了document,此时你说接下来的去获取<div id="d"></div>的语句能成功吗?

 在文档加载结束后再调用document.write(),那么输出的内容就会重写整个页面。

document.write来输出语句,这是我用了一个下午的时间得到的教训。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值