Прошло много времени с тех пор, как я делал рекурсивный вызов. Прочитав это, я внезапно проснулся!
Скопируйте код кода следующим образом:
<!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>
<script Language="JavaScript">
вар elementName="";
функция countTotalElement(узел)
{
///Значение атрибута nodeType равно 2, что указывает на атрибуты узла
/// Значение nodeType комментария равно 8, что указывает на текст комментария
///Значение nodeType документа равно 9, что указывает на документ
///DocumentFragment nodeType значение равно 11, что указывает на фрагмент документа
///Значение элемента nodeType равно 1, что указывает на узел элемента
///Текстовое значение nodeType равно 3, что указывает на текстовый узел
вар всего = 0;
if(node.nodeType==1) //1 означает, что тип узла — Element
{
всего++;
elementName=elementName+node.tagName+"/r/n";
}
вар Childrens = node.childNodes;
for(var i=0;i<childrens.length;i++)
{
total+=countTotalElement(дети[i]);
}
общая сумма возврата;
}
</скрипт>
</голова>
<тело>
<h1>Тест</h1>
<таблица cellpadding="0" cellpacing="0">
<tr><td>
<form name="form1" action="" метод="post">
<input type="text" name="ipput1" value="Test"><br />
<input type="password" name="password" value="">
</форма>
</td></tr>
</таблица>
<a href="javascript:void(0)" onClick="alert('Общее количество тегов'+countTotalElement(document)+'/r/n Все теги следующие:/r/n'+elementName);" >Начать тест</a>
</тело>
</html>
Фактически, тот же эффект, что и сканер-паук Baidu, может быть достигнут с помощью рекурсивных вызовов! Стоит попробовать. Возможно, вы сможете использовать этот метод для написания генератора карты сайта!