<tr>
<td>A</td>   
<td>B</td>  
</tr>
怎么根据A的id取到B??
nextSibling取不到

解决方案 »

  1.   

    <table>写了吗?</table>
    看下你的代码 。
      

  2.   


    <!DOCTYPE>
    <html>
    <head>
    <title></title>
    <script type='text/javascript'>
    window.onload=function(){
    var t1 = document.getElementById('t1');
     a = t1.getElementsByTagName('td')[0];
     b = a.nextElementSibling || a.nextSibling;
    alert(b.innerHTML);
    }
    </script>
    </head>
    <body>
    <table id='t1'>
    <tbody>
    <tr>
    <td>A</td>
    <td>B</td>
    </tr>
    <tbody>
    </table>
    </body>
    </html>
      

  3.   

    楼主考虑用jquery吧,里面的选择器功能非常强大
      

  4.   


    a = t1.getElementsByTagName('td')[0];  -->我要取的td也不是固定的第一个。我要写的这个js方法是:传入一个参数:A的id,然后根据这个id找到A所在TD的下一个TD的B。
      

  5.   

     window.onload=function(){
            var t1 = document.getElementById('t1');
             a = t1.getElementsByTagName('td')[0];
             b = a.nextElementSibling || a.nextSibling;
            alert(b.innerHTML);
        }
    你都这样写了,那第二个直接t1.getElementsByTagName('td')[1]不行吗 如果想用nextSibling 直接用var o = t1.childNodes(0).nextSibling ;
      

  6.   

    table里用rows cells操作就不会错了
    可以通过cellIndex得到下一个的cellIndex
      

  7.   

    既然你的A都有ID了
    那就按2楼的代码上扩展一下  虽然有点笨function(td_Id){
            var t1 = document.getElementById('t1'); //table id='t1'
             a = t1.getElementsByTagName('td');
             for(var i=0;i<a.length;i++){
               if(a[i].id = td_Id) 
                  b = a[i].nextElementSibling || a[i].nextSibling;
             }
            alert(b.innerHTML);
        }
      

  8.   

    A的id是td内的元素的id 不是td的id
      

  9.   

    因为td的下一个节点不是td而是text,比如在两个td间插入文字。所以如果你要取下一个td,要两个nextsibing。