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

来自:网络
时间:2019-07-29
阅读:

有些时候,我们并不能完全掌握网页的代码编辑权,如用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>
返回顶部
顶部