次のスニペットに似たコードがあります
<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]
内部 ul とその子が getElementsByTagName() メソッドによって取得されないのはなぜですか。それとも、そうする他の方法があります。
注 : 実行時には、「メイン」の div id のみがわかります。すべての子は動的で、任意の長さに実行できます。
前もって感謝します!!