js:firstChild和lastChild弹出的是undefined??求助!

 <body>
    <ul id="ulid">
        <li id="li1">aaaa</li>
        <li id="li2">bbbb</li>
        <li id="li3">cccc</li>
        <li id="li4">dddd</li>
    </ul>

    <script type="text/javascript">

        var ul1 = document.getElementById("ulid");
        var li1 = ul1.childNodes.firstChild;
        alert(li1.id);

        //得到最后一个节点
        var li4 = ul1.lastChild;
        alert(li4.id);

    </script>

使用child属性,会将空白区域也算作一个子元素,解决方式
method1:将ul和li全部写在一行,比如:

method2:

    >
  • >
  • </li


建议使用children

空白节点也算一个节点,要去掉空白节点,否则用getElementsByTagName来获取li

   <ul id="ulid"><li id="li1">aaaa</li><li id="li2">bbbb</li><li id="li3">cccc</li><li id="li4">dddd</li></ul>