如果它包含使用jquery,如何获取完整的URL

时间:2015-01-21 10:12:04

标签: javascript jquery

如果网址以http://google.com 开头,我可以获得完整网址吗?这是我的代码

<div id="gettingdynamic">
    <a href="http://google.com?somedynamicparamenter">clickhere</a>
</div>

这里代码的每一个前面http://google.com之后我会得到动态参数所以我想要的意思是当这个url http://google.com包含在div中我应该使用jquery <参数获取完整的url < / p>

3 个答案:

答案 0 :(得分:0)

您可以使用jquery属性选择器

$("#gettingdynamic a[href*='http://google.com']")

此选择器返回getdynamic中其href属性以http://google.com

开头的所有链接

代码

$("#gettingdynamic a[href*='http://google.com']").attr("href") 
return "http://google.com?somedynamicparamenter"

如果您有许多以http://google

开头的链接
$("#gettingdynamic a[href*='http://google.com']").each(function( index ) {
  console.log( this.href );
});

答案 1 :(得分:0)

您可以使用jQuery过滤器来获取所需内容: http://api.jquery.com/filter/

$("#gettingdynamic a[href]").filter(function(idx,elem){
    return jQuery(elem).attr("href").search(/^http:\/\/(www\.)?google\.com(\/|\?)/i) > -1;
}).attr('href');

显然很多项目:

$("#gettingdynamic a[href]").filter(function(idx,elem){
        return jQuery(elem).attr("href").search(/^http:\/\/(www\.)?google\.com(\/|\?)/i) > -1;
    }).each(function( idx ){
    console.log( this.href );
});

这基本上说:获取所有锚(a)元素,这些元素是id为“gettingdynamic”的元素的后代。过滤返回的结果只包括那些“href”属性以其开头的结果(*表示此后的任何内容都可以存在):

<强>更新

如果您只想让它返回“google.com?...”这样的网址,您可以使用以下内容:

$("#gettingdynamic a[href]").filter(function(idx,elem){
        return jQuery(elem).attr("href").search(/^http:\/\/(www\.)?google\.com(\/|\?)/i) > -1;
    }).each(function( idx ){
    console.log( this.href.replace(/^https?\:\/\/(www\.)?/i, "") );
});

答案 2 :(得分:-2)

使用jquery可以使用:

var url = $('#gettingdynamic a').attr('href');
var pattern = new RegExp('^https?://google.com'); 
//remove s? if you dont want to match https://google.com

if (pattern.test(url)) {
    // Use url here
    alert(url);
}