如何用javascript获取网页源码中的某个链接?当前网页源码中有以下两个链接,用javascript代码 alert出来。<a href="http://www.youcode.com/download/get.asp?code=test&urlid=6&author=xiaogao">xiaogao</a>
<a href="/download/get.asp?code=test&urlid=6&author=xiaogao">xiaogao</a>通过 关键字download/get 或关键字xiaogao(0) xiaogao(1) 分别alert出完整的url串
注意:
链接不是 <a id="aaa" href="/download/get.asp?code=test&urlid=6&author=xiaogao">xiaogao</a>
或 <a name="aaa" href="/download/get.asp?code=test&urlid=6&author=xiaogao">xiaogao</a>
这样的,即不要用getElementsByName 或getElementsByid等方法打印出: http://www.youcode.com/download/get.asp?code=test&urlid=6&author=xiaogao100分献上!

解决方案 »

  1.   

    var i=0,links = document.links;
    for(;i<links.length;i++){
    if(/download\/get|xiaogao/i.test(links[i].href)){
    alert(links[i].href);
    }
    }
      

  2.   


      var re=/<(?:a)\b[^>]*(?:href)="([^"]*)"[^>]*>/gi;
      var str ='<a href=\"/download/get.asp?code=test&urlid=6&author=xiaogao\">xiaogao </a><a href="http://www.youcode.com/download/get.asp?code=test&urlid=6&author=xiaogao">xiaogao </a>';
      var array = str.match(re);  
      if (array != null){
        var msg= "找到 " + array.length + " 个匹配链接:";
        for (var i = 0; i < array.length; i++)    {
          msg+= "\r\n[第 " + (i+1) + " 个链接]  " + array[i];
        }
      }  alert(msg);
      

  3.   

    第一个函数根据链接中的href属性值来判断function getlinkbyattribute()
    {
    var linklist=document.getElementsByTagName("a");//先获取页面中所有链接的对象数组
    for(var i=0;i<linklist.length;i++)
    {
    var linkitem=linklist.item(i).getAttribute("href");//获得单个链接的href属性
    if(linkitem.indexOf("download/get")>=0)            //根据属性值判断是否包含download/get
    {
    alert(linkitem);                            //包含则打印出href的值
    }
    }
    }第二个函数根据页面上显示的链接文字来判断function getlinkbytext()
    {
    var linklist=document.getElementsByTagName("a");
    for(var i=0;i<linklist.length;i++)
    {
    var linkitem=linklist.item(i).firstChild.nodeValue;     //对应的单个链接的文字
    if(linkitem.indexOf("xiaogao")>=0)                     //判断是否包含xiaogao
    {
    alert(linklist.item(i));
    }
    }
    }body区域内容<a href="http://www.youcode.com/download/get.asp?code=test&urlid=6&author=xiaogao">xiaogao </a>
    <a href="/download/get.asp?code=test&urlid=6&author=xiaogao">xiaogao </a> 
    <input type="button"  value="getlinkbyattribute" onclick="getlinkbyattribute();" /><input type="button"  value="getlinkbytext" onclick="getlinkbytext();" />实测通过楼主给分吧
      

  4.   

    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>test</title>
    <script>
    window.onload=function(){
    getHref("download/get");//显示所有

    //getHref("xiaogao(0)");//显示第一个 
    //getHref("xiaogao(1)");//显示第二个
    //getHref("xiaogao(2)");//没有找到
    }function xiaogao(num){
    var aObjs = document.getElementsByTagName("A");
    var n = 0;
    for(var i=0;i<aObjs.length;i++){
    if(aObjs[i].href.indexOf("xiaogao")>=0){
    if(n==num){
    alert(aObjs[i].href);
    }
    n++;
    }
    }
    if(n<=num){
    alert("没有找到!");
    }
    }function getHref(str){
    try{
    eval(str);
    }catch(e){
    var aObjs = document.getElementsByTagName("A");
    for(var i=0;i<aObjs.length;i++){
    if(aObjs[i].href.indexOf(str)>=0){
    alert(aObjs[i].href);
    }
    }
    }

    }
    </script>
    </head><body>
    <a href="http://www.youcode.com/download/get.asp?code=test&urlid=6&author=xiaogao">xiaogao</a> 
    <a href="/download/get.asp?code=test&urlid=6&author=xiaogao">xiaogao</a>
    </body>
    </html>
      

  5.   


    jquery:
      $().ready(function() {
            $("a[href*='download/get']").each(function() {
                alert($(this).attr("href"));
            });
        });