如何在所选文本的基础上获取href的属性?

时间:2014-09-19 09:53:26

标签: javascript php jquery regex preg-match

我有像这样的链接

<a href="site.com/register.php?mid=username&mode=bn&bid=1">

现在我需要在

的基础上获得mid或bid的价值
site.com/register.php

在一个页面中。并且需要在javascript中完成。 http也在那里。

怎么做。

谢谢。

2 个答案:

答案 0 :(得分:0)

试试这个:

为锚标记添加id

<a id="anchor1" href="site.com/register.php?mid=username&mode=bn&bid=1">

使用以下javascript

<script>
 var href = document.getElementById('anchor1').href;
 //get index of ?
 var indexStart = href.indexOf('?');
 var indexLast = href.length;
 //get href from ? upto total length
 var params = href.substring(indexStart+1, indexLast);
 //get tokens with seperator as '&' and iterate it
 var paramsArray = params.split("&");
 for(var i=0;i<paramsArray.length;i++)
 {
   //get key and value pair
   var paramKeyValue = paramsArray[i];
   var keyValue = paramKeyValue.split('=');
   alert("Key="+keyValue[0]+" and value="+keyValue[1]);
 }
</script>

<强> Demo Link

答案 1 :(得分:-1)

var Links = document.getElementsByTagName('a');

var Values = {}; 

for(var i = 0; i < Links.length; i++) { 
    if(Links[i].href.toString().indexOf('site.com/register.php') != -1) {

        var Str = Links[i].href.toString();
        var Arr = Str.split('?');
        Arr[1] = Arr[1] || '';

        var Params = Arr[1].split('&');
        for(var i = 0; i < Params.length; i++) {
            var Value = Params[i].split('=');
            Values[Value[0]] = Value[1] || null;
        }
        break;
    }
}

console.log(Values);