<html>
   <head>
      <script>
           function test(){
              var str= document.getElementById("aa");
              alert(str.nextSibling);
           }
      <script>
   </head>
   <body>
     <td>
       <input type="text" name="aa" id="aa"/>
       <span class="rr"></span>
     </td>
     <td>
        <input type="button" value="test" onclick="test();">
     </td>
   </body>
</html>
请问,怎么取到span节点?我想通过id取到input输入框,然后取到紧挨input框的span节点,但是就是取不到。

解决方案 »

  1.   

    <input type="text" name="aa" id="aa"/><span class="rr">span</span>这样 。
      

  2.   

    思路很诡异啊。给span加个id不就成了?
      

  3.   


    不是ID的问题,是换行符或空格的问题在FF下会把换行符等当成当前元素的nextSibling,所以要写一个函数代替nextSiblingfunction getNextElement(node) {
    var nextNode = node.nextSibling;
    if (nextNode){
     if (!nextNode.tagName) {
         return getNextElement(nextNode);
       } else {
       return nextNode;
       }
    } else {
    return null;
    }
     
    }alert(getNextElement(document.getElementById("aa")).tagName)
      

  4.   

    str.nextSibling.nextSibling  可以这样写的