Cela fait longtemps que je n'ai pas fait d'appel récursif. Après l'avoir lu, je me suis soudainement réveillé !
Copiez le code comme suit :
<!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">
<tête>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Nœud d'élément de statistiques</title>
<langage de script="javascript">
var nomélément="";
fonction countTotalElement (nœud)
{
///La valeur de l'attribut nodeType est 2, indiquant les attributs du nœud
///La valeur du commentaire nodeType est 8, indiquant le texte du commentaire
///La valeur du document nodeType est 9, indiquant le document
///La valeur de NodeType de DocumentFragment est 11, indiquant un fragment de document
///La valeur de l'élément nodeType est 1, indiquant le nœud de l'élément
///La valeur du Text nodeType est 3, indiquant le nœud de texte
var total=0 ;
if(node.nodeType==1) //1 représente que le type de nœud est Element
{
total++ ;
elementName=elementName+node.tagName+"/r/n";
}
var enfants=node.childNodes;
pour(var i=0;i<childrens.length;i++)
{
total+=countTotalElement(enfants[i]);
}
retourner le total ;
}
</script>
</tête>
<corps>
<h1>Tester</h1>
<table cellpadding="0" cellpacing="0">
<tr><td>
<nom du formulaire="form1" action="" méthode="post">
<input type="text" name="ipput1" value="Test"><br />
<input type="password" name="password" value="">
</form>
</td></tr>
</table>
<a href="javascript:void(0)" onClick="alert('Nombre total de balises'+countTotalElement(document)+'/r/n Toutes les balises sont les suivantes :/r/n'+elementName);" >Démarrer le test< /a>
</corps>
</html>
En fait, le même effet que Baidu spider crawler peut être obtenu grâce à des appels récursifs ! Cela vaut la peine d'essayer. Vous pouvez peut-être utiliser cette méthode pour écrire un générateur de plan de site !