Javascript 获取某个a标签的href并进行分解

日期: 标签:javascriptWeb 2 条留言
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务:  点此联系我

有些时候,我们并不能完全掌握网页的代码编辑权,如用BSP博客,但是又想从中修改某些参数,或者想获得某些信息,那怎么办呢?

本文将以实例的形式,介绍如何获得网页中某个a标签中的href,并将其分解获得其中的id值。

问题背景:
原网页中已经有如下代码,且不能更改,class标签在该页面中是唯一的:

<a href="home-uid-100.html" class="noborder">user100</a>

现在我想获得a标签href中的链接uid号100,然后放到新的链接中,如:

<a href="h_id=100">user100</a>


以下是代码实现

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head> 
<body> 

<!-- 以下代码在实际情况下不可编辑 -->
<a class="noborder"  href="home-uid-100.html">露兜博客</a>

<!-- 自己可编辑的代码,以下链接将打开 http://www.ddd.com/u_id=100  -->
<a href="javascript:window.open('http://www.ddd.com/u_id='+value,'_blank');void(0);">方法一</a>

<!-- 以下链接地址也为 http://www.ddd.com/u_id=100  -->
<a href="http://www.ddd.com/u_id=" onclick="window.open(this.href+value);return false;">方法二</a>

</body>
<script language="javascript"> 
<!--
// 说明:Javascript 获取某个a标签的href并进行分解的方法 
// 整理:https://www.ludou.org

// 全局变量,获取链接中的参数值
var value = "";

function get() 
{ 
    // 搜索所有 a 标签,并保持在 _el 中
    var el = [],
        _el = document.getElementsByTagName('a');

   /*
    * 如果你要找的a标签中有id="",如<a id="ku" href=""></a>
    * 那么以上两行可以改为
    * var el = [],
    * _el = document.getElementsById('ku');
    */
   
    //遍历_el,获得含有 class=="noborder" 的a标签的href值
    for (var i=0; i<_el.length; i++ ) {
        if (_el[i].className == 'noborder' ) 
        {
            // 得到的a标签的href
            value = _el[i].href; 

            // 进行正则匹配,获得href中uid-后面的参数值
         var re = /uid\-([^\.]*)/i;

            var r = value.match(re);
            value = r[1];
            break;
        }
    }
}
// 执行函数
window.onload = get

//-->
</script>
</html>

-- 完 --

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜博客 https://www.ludou.org/javascript_get_a_href.html
露兜
kaapass@outlook.com  QQ 825533758

业余编程爱好者,主业是淘宝店主,卖些工艺品,感兴趣可以到我的淘宝店看看(旺旺不提供技术咨询):西西弗sisyphe

2 条留言

点此留言
  1. long儿

    现在js 的一个变量里已经保存了 <a href="h_id=100">user100</a> 怎么从这个变量里取user100 ? 谢谢。。。

    • Ludou

      @long儿 a[2]就是你想要的东西

      <script type="text/javascript">

      var str= '<a href="h_id=100">user100</a>';
      var s = /<a href="h_id=([0-9]+)">([a-z0-9]+)<\/a>/gi;
      var a = s.exec(str);
      alert(a[2]);

      </script>

发表留言