Maison >interface Web >js tutoriel >méthode js pour obtenir le nœud de la page html (méthode récursive)
Je n’ai pas fait d’appels récursifs depuis longtemps. Après l'avoir lu, je me suis soudainement réveillé !
Le code est le suivant :
<!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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>统计Element节点</title> <script language="javascript"> var elementName=""; function countTotalElement(node) { ///Attribute nodeType值为2,表示节点属性 ///Comment nodeType值为8,表示注释文本 ///Document nodeType值为9,表示Document ///DocumentFragment nodeType值为11,表示Document片段 ///Element nodeType值为1,表示元素节点 ///Text nodeType值为3,表示文本节点 var total=0; if(node.nodeType==1) //1代表节点的类型为Element { total++; elementName=elementName+node.tagName+"\r\n"; } var childrens=node.childNodes; for(var i=0;i<childrens.length;i++) { total+=countTotalElement(childrens[i]); } return total; } </script> </head> <body> <h1>测试</h1> <table width="100" border="2" cellpadding="0" cellspacing="0"> <tr><td> <form name="form1" action="" method="post"> <input type="text" name="ipput1" value="测试"><br /> <input type="password" name="password" value=""> </form> </td></tr> </table> <a href="javascript:void(0)" onClick="alert('标记总数'+countTotalElement(document)+'\r\n 全部标记如下:\r\n'+elementName);">开始测试</a> </body> </html>
En fait, le même effet que Baidu spider crawler peut également ê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 !
Pour plus d'articles sur js sur la façon d'obtenir des nœuds de page HTML (de manière récursive), veuillez faire attention au site Web PHP chinois !