久しぶりに再帰呼び出しをしました。読み終わったら、突然目が覚めました!
次のようにコードをコピーします。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<頭>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>統計要素ノード</title>
<スクリプト言語="javascript">
var 要素名 = "";
関数 countTotalElement(ノード)
{
///属性のnodeType値は2で、ノード属性を示します
///コメントのnodeType値は8で、コメントのテキストを示します
///ドキュメントのnodeType値は9で、ドキュメントを示します
///DocumentFragmentのnodeType値は11で、ドキュメントフラグメントを示します
///要素のノードタイプの値は 1 で、要素ノードを示します
///Text nodeType 値は 3 で、テキスト ノードを示します
変数合計=0;
if(node.nodeType==1) //1 はノードのタイプが Element であることを表します
{
合計++;
要素名=要素名+ノード.タグ名+"/r/n";
}
var childs=node.childNodes;
for(var i=0;i<childrens.length;i++)
{
total+=countTotalElement(children[i]);
}
合計を返します。
}
</script>
</head>
<本文>
<h1>テスト</h1>
<table cellpadding="0" cellpacing="0">
<tr><td>
<form name="form1" action="" method="post">
<input type="text" name="iput1" value="テスト"><br />
<input type="password" name="password" value="">
</form>
</td></tr>
</テーブル>
<a href="javascript:void(0)" onClick="alert('タグの総数'+countTotalElement(document)+'/r/n すべてのタグは次のとおりです:/r/n'+elementName);" >テストを開始</a>
</body>
</html>
実際、Baidu スパイダー クローラーと同じ効果が再帰呼び出しによって実現できます。これは試してみる価値があります。この方法を使用してサイトマップ ジェネレーターを作成できるかもしれません。