从每个href中删除部分链接

时间:2014-02-17 18:41:07

标签: javascript jquery

我需要从链接页面部分的每个链接中删除

像这样的当前链接

http://domain.com/download.php?url=https://www.dropbox.com/file1.rar

我需要链接是这样的

https://www.dropbox.com/file1.rar

所以只需删除此http://domain.com/download.php?url=

即可

这是我的代码

<a href="http://domain.com/download.php?url=https://www.dropbox.com/file1.rar">Download File 1</a><br>
<a href="http://domain.com/download.php?url=https://www.dropbox.com/file2.rar">Download File 2</a><br>
<a href="http://domain.com/download.php?url=https://www.dropbox.com/file3.rar">Download File 3</a><br>
<a href="http://domain.com/download.php?url=https://www.dropbox.com/file4.rar">Download File 4</a><br>
<a href="http://domain.com/download.php?url=https://www.dropbox.com/file5.rar">Download File 5</a><br>
<a href="http://domain.com/download.php?url=https://www.dropbox.com/file6.rar">Download File 6</a><br>

<a href="https://www.dropbox.com/file9.rar">Download dropbox 1</a><br>
<a href="https://www.dropbox.com/file8.rar">Download dropbox 2</a><br>

<a href="https://www.google.com">Google</a><br>
<a href="https://domain.com">HomePage</a><br>

我设法选择了需要用jQuery替换的链接

  

$( “一个[HREF * = '的download.php?URL =']”)

但我需要帮助才能删除此部分http://domain.com/download.php?url=

jsfiddle中的代码

http://jsfiddle.net/Jim_Toth/dB6nW/

我需要的结果

http://jsfiddle.net/Jim_Toth/dB6nW/1/

5 个答案:

答案 0 :(得分:1)

使用split()

$('a[href*="download.php?url="]').attr('href', function () {
    return $(this).attr('href').split('=')[1];
});

注意隐式迭代,不需要each()

A live demo at jsFiddle

答案 1 :(得分:1)

它解决了你的问题:

$("a[href*='download.php?url=']").each(function(){
    var t = $(this);
    var url = t.attr('href').replace('http://domain.com/download.php?url=', '');
    t.attr('href', url);
})

http://jsfiddle.net/dB6nW/5/

答案 2 :(得分:0)

编辑:

$(function () {
$("a[href*='download.php?url=']").each(function(i,v){
var oldUrl = $(this).attr('href');
var newUrl = oldUrl.replace("http://domain.com/download.php?url=","");
$(this).attr('href', newUrl);
});
});

答案 3 :(得分:0)

var stringToRemove = 'http://domain.com/download.php?url=';
$('a').each(function(){
    var link = $(this).attr('href');
    var newLink = link.replace(stringToRemove, '');
    console.log(newLink);
});

一个简化的简单脚本。

答案 4 :(得分:0)

我认为你需要的是:

var links = $("a[href*='download.php?url=']");

for(var i = 0; i < links.length; i++){
var current = links.eq(i);    
      var href = current.attr("href");
   var newHref = href.substr(href.indexOf("="), href.length);    
   current.attr("href", newHref);
}

http://jsfiddle.net/dB6nW/7/