<td id="subOne"> 
<table id="a">
  <tr id="aa">
<td id="aaa">
   <div id="aaaa">
<span id="aaaaa">测试子元素</span>
   </div>
</td>
 </tr>
</table>
<div>
             <ul>
                 <li></li>
                 <li></li>
             </ul>
              <br/>
              <span>
                 <font>
                    <a href="#">获取该td内所有的元素</a>
                 </font>
              </span>
        </div>
<table id="c">
   <tr id="cc">
      <td id="ccc">
  <div id="cccc">
<span id="ccccc">测试子元素</span>
  </div>
</td>
            </tr>
 </table>
</td>
     请问大家,有什么好的方法,获取最外层td内部所有的元素。注:内部元素无规律!

解决方案 »

  1.   

    你所说的所有是什么意思?所有的子元素 比如上面就三个子代元素 table div table还是所有的子元素和子元素中的子元素.(即递归的所有元素)你是指那一个?
      

  2.   

    如果是第一种,那么就
    var td = ...//得到那个tdvar children = td.childNodes;这个children就是那个所有元素的数组
    如果是第二种,那么就递归调用上面的方法就行了
      

  3.   

    document.getElementById("subOne") 能得到了
      

  4.   

    function getSubElement(subOne){
    var id = subOne.id;
    var top =document.getElementById(id);
    var check =top.hasChildNodes();
    if(check){
    for(var i=0; i<top.childNodes.length;i++){
    var obj = top.childNodes[i];
      getSubElement(obj);
    }
    }else{
    alert("无子节点");
    }
    }
      

  5.   

    这里迭代到a元素的时候 它不去迭代id 为b 的元素,以及下面的子元素呢?
      

  6.   

    var html="";
    function getSubElement(el){
    el.children().each(function(){
    html += $(this).html();
    getSubElement($(this));
    });
    }
    $(function(){

    getSubElement($("#subOne"));
    $("#abc").text(html);
    })看看这个
      

  7.   

    var td=document.getElementById(subOne);
    td.getElementsByTagName('*')
      

  8.   

    document.getElementById("tb") 能得到了
    或者用jquery做