1

我有一个类似于以下代码段的代码

 <div id="main">
  <div>
   <ul>
    <li>
      <table><tbody><tr><td></td></tr></tbody></table>
        <ul id="inner" > /* this ul has many nested children */</ul>
    </li>
    </ul>
  </div>   

我想在“主” div 中获取所有标签,如果它们已经有一个,则为它们设置新的 id。我有一个像下面这样的 javascript

        var InfoMsg = "";
        var nodes = element.getElementsByTagName('*');
        for (var i = 0; i < nodes.length; i++) 
        {
            InfoMsg += nodes[i]
        }  
        alert(InfoMsg);

我收到以下警报

 [object HTMLDivElement][object HTMLUListElement][object HTMLLIElement]
 [object HTMLTableElement][object HTMLTableSectionElement]
 [object HTMLTableRowElement][object HTMLTableCellElement]
 [object HTMLImageElement][object HTMLTableCellElement]
 [object HTMLTableCellElement]

为什么 getElementsByTagName() 方法没有检索到内部 ul 及其子项,或者有没有其他方法可以这样做;

注意:在运行时我只会知道“主” div id。所有的孩子都是动态的,可以跑到任何长度。

提前致谢!!

4

0 回答 0