正文

[JavaScript]遍历HTML文档获得所有超链接2006-11-30 16:31:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/fengfei/21091.html

分享到:

利用这个原理可以遍历一个网站的所有超链接,并获得该链接HTML文档的关键字,然后再遍历该文档以获得该文档的超链接, 如此递归下去,可以做成个简单的搜索引擎。。不过不知道效率如何。 演示地址:http://scboy.ik8.com/GetAllLinks.htm <html><head><title>  getAllLink</title> <script language="javascript">   var elementName = ""; // 全局变量,保存超链接地址,用完要清空   function getAllLink( node )  {    var total = 0; // 计算总共有多少超链接        // nodeType 判断该节点是否为元素节点,1表示为元素节点    // tagName 判断该节点是否是超链接    if ( node.nodeType == 1 && node.tagName == "A" )    {       total += 1; // 超链接总数加1       // 保存超链接的地址      // node.getAttribute("href")获得该属性的值      elementName = elementName + node.getAttribute("href") + "\r\n";    }     // 获得node的全部子节点    var children = node.childNodes;       for ( var i = 0; i < children.length; i++ )    {        // 在每个子节点上进行递归操作,以遍历HTML文档所有节点        total += getAllLink( children[i] );    }     return total;  // 返回该节点超链接个数  } </script> </head> <body> <a href="javascript:void(0)" onClick="alert('超链接总数:' + getAllLink(document) + '\r\n 全部超链接地址如下: \r\n' + elementName); elementName='';"> 开始统计超链接个数 </a> <br><br><hr>  <a href="http://www.yaoyuan.com"> yaoyuan </a> <br> <a href="http://www.163.com"> 163 </a> <br> <a href="http://fengfei.programfan.com"> 风飞BLOG </a> <br> </body> </html>  当然也可以通过getElementByTagName来获得指定标记的节点.. 这样就不需要递归,可以简单很多。。  

阅读(7841) | 评论(5)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册