Ha pasado mucho tiempo desde que hice una llamada recursiva. ¡Después de leerlo, de repente me desperté!
Copie el código de código de la siguiente manera:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transicional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<cabeza>
<meta http-equiv="Tipo de contenido" content="text/html; charset=utf-8" />
<title>Nodo de elemento de estadística</title>
<lenguaje de escritura="javascript">
var nombre_elemento="";
función contarElementoTotal(nodo)
{
/// El valor del tipo de nodo del atributo es 2, lo que indica los atributos del nodo
/// El valor de tipo de nodo del comentario es 8, lo que indica el texto del comentario
/// El valor de tipo de nodo del documento es 9, lo que indica documento
/// El valor de tipo de nodo de DocumentFragment es 11, lo que indica fragmento de documento
/// El valor del tipo de nodo del elemento es 1, lo que indica el nodo del elemento
/// El valor de tipo de nodo de texto es 3, lo que indica un nodo de texto
vartotal=0;
if(node.nodeType==1) //1 representa que el tipo de nodo es Elemento
{
total++;
nombre_elemento=nombre_elemento+nodo.nombreetiqueta+"/r/n";
}
var niños=nodo.childNodes;
for(var i=0;i<longitud.niños;i++)
{
total+=countTotalElement(niños[i]);
}
total de retorno;
}
</script>
</cabeza>
<cuerpo>
<h1>Prueba</h1>
<tabla cellpadding="0" cellspace="0">
<tr><td>
<nombre del formulario="formulario1" acción="" método="publicación">
<tipo de entrada="texto" nombre="ipput1" valor="Prueba"><br />
<tipo de entrada="contraseña" nombre="contraseña" valor="">
</formulario>
</td></tr>
</tabla>
<a href="javascript:void(0)" onClick="alert('Número total de etiquetas'+countTotalElement(document)+'/r/n Todas las etiquetas son las siguientes:/r/n'+elementName);" >Iniciar prueba< /a>
</cuerpo>
</html>
De hecho, ¡el mismo efecto que el rastreador de arañas de Baidu se puede lograr mediante llamadas recursivas! Vale la pena intentarlo. ¡Quizás puedas usar este método para escribir un generador de mapas de sitio!