没发现哪里有错误,为啥在360浏览器总出输出undefined呢
JS中空格也是作为一个文本节点. 就是这么规定了 可以判断 if(elements.nodeType == 3 ){...}
<ul id="con"> <li id="lesson1">javascript <ul> <li id="tcon"> 基础语法</li> <li>流程控制语句</li> <li>函数</li> <li>事件</li> <li>DOM</li> </ul> </li> <li id="lesson2">das</li> <li id="lesson3">dadf</li> <li id="lesson4">HTML/CSS <ul> <li>文字</li> <li>段落</li> <li>表单</li> <li>表格</li> </ul> </li></ul>
这个undefined其实是空白结点,也就是结尾的</li>和</ul>之间的空白结点,课程里面讲过IE浏览器会忽略,而其他浏览器不会,你把表格代码结尾像我上面给的修改一下就可以了。望采纳
我试了一下
<ul> <li>文字</li> <li>段落</li> <li>表单</li> <li>表格</li> </ul> </li> </ul> //这样会输出undefined <ul> <li>文字</li> <li>段落</li> <li>表单</li> <li>表格</li> </ul> </li></ul> //这样就可以输出正确结果 //我也不知道为什么会这样。。