猿问

为何点击按钮后输出许多undefined?代码如下:

<!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");
  // 在此完成该函数
  for(var i=content.childNodes.length-1;i>=0;i--){
      var x=content.removeChild(content.childNodes[i]);
      document.write("删除节点:"+x.innerHTML+"<br>");
  } 
}
</script>

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

</body>
</html>


yuqingzhijie3596863
浏览 2504回答 4
4回答

一只初学喵

因为div和h1,h1和h1之间还有空白文本结点,即换行字符,也是content的子结点,所以出现undefined这样写js也可以

super_mb

因为 id 为 content 的 div 中不止有元素节点,还有文本节点,就是每个h1标签前的空格和其后的回车,这些文本节点的innerHTML自然是undefined,文本节点应该没有innerHTML属性。

第二热情

从开始学就打好基本功,一个网页的H1次数怎么出现这么多···
随时随地看视频慕课网APP
我要回答