document。write的用处

来源:9-14 删除节点removeChild()

qq_桐原亮司_0

2016-08-09 16:21

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>无标题文档</title>

</head>


<body>

<div id="content">

  <h1>html</h1>

  <h1>php</h1>

  <h1>javascript</h1>

  <h1>jquery</h1>

  <h1>java</h1>

</div>


<script type="text/javascript">

function clearText() {

  var content=document.getElementById("content");

  // 在此完成该函数

   var cc=content.childNodes;

    document.write(cc.length);/*就是这个,就是这个*/

    for(var i=0;i<cc.length;i++)

    {  

      x=content.removeChild(cc[i]);

     x=null;}

}

</script>


<button onclick="clearText()">清除节点内容</button>




</body>

</html>

如 上代码,我加上   那个documentwrite 就可以一次性清除,但是如果没有就 要三次清除,document.wirte的用处是干什么的,难道是结算 cc的length的么,我真是搞不明白

写回答 关注

3回答

  • 湛瞳
    2016-08-15 15:29:17

    首先加上documentwrite 并没有一次性清除,只是在显示上变了内容,感觉一次清除了;三次清除的原因是因为执行时cc[i]的长度是在变化的,而你的控制条件配合每一步的执行就变成了三次清除。

    在浏览器控制台将你这段代码设置断点,一步一步执行你就明白问题出在哪里了

  • 水里有条鱼
    2016-08-09 19:33:39

    document.write() 输出显示括号内容

    只是在加载完网页后执行document.write,在执行输出时会新建新的文档流覆盖了原来的内容(就是把原来body,head里面的内容清空),所以能起到一次清除作用,详情看http://www.softwhy.com/forum.php?mod=viewthread&tid=13582

    至于没加之后要清三次,是因为你代码逻辑有问题(详情看)

    http://www.imooc.com/qadetail/56371 

  • H5还是Android我很纠结
    2016-08-09 17:19:06

    同问,回来看答案

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题