为了账号安全,请及时绑定邮箱和手机立即绑定

为什么输出的开始和最后都有一个undefined

<script  type="text/javascript">    
   var mylist = document.getElementById("tcon");
   var x=mylist.parentNode.parentNode.parentNode.lastChild.childNodes;
   for(var i=0;i<x.length;i++)
   document.write(x[i].innerHTML);
</script>


正在回答

4 回答

别钻牛角尖,视频里是通过类比,让我们形象地更容易地理解类和对象,而不是区分什么类什么类,不要本末倒置classfirstp

0 回复 有任何疑惑可以回复我~

只要求求到ul的最后一个li, 所以 这句var x=mylist.parentNode.parentNode.parentNode.lastChild.childNodes; 多求了一个子节childNode ,  for判断句多余,所以后面因为 document.write(x.innerHTML);

0 回复 有任何疑惑可以回复我~

1、现在的x为id=lesson4的那个li的所以的childNodes,即"HTML/CSS"和ul、li内的所有元素。直接读取x所以元素的innerHTML就指向不明确了。改为

var x=mylist.parentNode.parentNode.parentNode.lastChild.childNodes[1].childNodes;

即读取id=lesson4的那个li内的ul的子节点。

2、for语句的函数内容没有用“{”和“}”包起来;

3、ul中去掉空白符,即<ul><li>文字</li><li>段落</li><li>表单</li><li>表格</li></ul>

0 回复 有任何疑惑可以回复我~
undefined
文字
段落
表单
表格
undefined


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么输出的开始和最后都有一个undefined

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信