document.write(mylist.parentNode.parentNode.nextSibling.nextSibling.nextSibling.innerHTML);
为啥不行呢?
<ul id="con">//空白节点1 <li id="lesson1">javascript <ul> <li id="tcon"> 基础语法</li> <li>流程控制语句</li> <li>函数</li> <li>事件</li> <li>DOM</li> </ul> </li>//空白节点2 <li id="lesson2">das</li>//空白节点3 <li id="lesson3">dadf</li>//空白节点4 <li id="lesson4">HTML/CSS <ul> <li>文字</li> <li>段落</li> <li>表单</li> <li>表格</li> </ul> </li></ul>
所以算上空白节点你获取的是空白节点3,所以输出是undefined,所以你要再加三个nextSibling才能输出<li id="lesson4">
空白节点就是两个标签之间空白的地方
你看看 调试工具是不是获取不到 是的话就是逻辑出错了