2011-06-13 68 views
0

我需要查看頁面中的href,看看URL中是否有一定的文本,如果是我需要將其更改爲某種否則,然後追加一個位置到最後。更改URL的一部分,並根據特定字符添加URL jQuery

如果鏈接中包含 「冰/應用服務=頁面&頁= probrowse?」

前:http://www.google.com/冰/應用服務=頁面&頁= probrowse &貓= 1 &年= 2011

我需要將其更改爲「club/probrowse.htm?」

例如:http://www.google.com/club/probrowse.htm?cat=1&year=2011

我目前運行低於該考慮到的腳本?和URL中的&並將位置附加到href。

<script type="text/javascript"> 
    jQuery(document).ready(function(){ 
     jQuery('a').attr('href', function() { 
       return (this.href.indexOf("?") >= 0) ? this.href + "&location=/abc/123" : this.href + "?location=/abc/123"; 
      }); 

    }); 
</script> 

我遇到了一些其他的顛簸,由於我是從其他網站攝取信息和需要做一些小的網址更改的事實。

總的目標是要改變

google.com/ice/app?service=page &頁= probrowse &貓= 1 &年= 2011

google.com/ club/probrowse.htm?cat = 1 & year = 2011 & location =/abc/123

+1

Wowzers。如果您已經想到了這一點,請原諒我問這個問題,但是您確定使用JavaScript來破解網址是最好的方法嗎?通常只要在源文件上查找/替換就會更好。此外,網絡索引服務(即Google)會在呈現網址時看到網址,而不是在網頁後面顯示。 – Brian 2011-06-13 23:50:53

+0

我不關心網絡索引。關於數據被引入頁面的方式有點複雜。附加地點的作品效果很好,我只是想要改變列表底部的一系列「下一頁」的鏈接。 – Michael 2011-06-13 23:55:08

回答

1

我相信這就是你要找的東西:

<script type="text/javascript"> 
jQuery.noConflict(); 
jQuery(function(){ 
    var substr = 'ice/app?service=page&page=probrowse'; 
    var newstring = 'club/probrowse.htm?'; 
    jQuery("a").each(function(){ 
     if(this.href.indexOf(substr) != -1){ 
      var newHref = this.href; 
      newHref = newHref.replace(substr, newstring); 
      newHref += '&location=/abc/123'; 
      newHref = newHref.replace('?&','?'); 
      this.href = newHref; 
     } 
    }); 
}); 
</script> 
+0

我採取了你所做的一切,並做了一些小調整。並添加了一個else語句來覆蓋頁面上的其他鏈接。感謝您的幫助! – Michael 2011-06-14 17:02:06

0
<script type="text/javascript"> 
    jQuery.noConflict(); 
    jQuery(function(){ 
     var substr = 'ice/app?service=page&page=probrowse'; 
     var newstring = 'club/probrowse.htm?'; 
     jQuery("a").attr('href', function(){ 
      if(this.href.indexOf(substr) != -1){ 
       var newHref = this.href; 
       newHref = newHref.replace(substr, newstring); 
       newHref += '&location=/abc/123'; 
       newHref = newHref.replace('?&','?'); 
       this.href = newHref; 
} else { 
     return (this.href.indexOf("?") >= 0) ? this.href + "&location=/abc/123" : this.href + "?location=/abc/123"; 
    } 

     }); 
    }); 
    </script> 
+0

這是不好的,接受你自己的答案。 – Grekz 2011-06-17 16:55:16

+0

這是無意的。我打算接受你的。我只是添加了我的最後結果給別人看。我糾正它,並接受你的答案。 – Michael 2011-06-17 19:09:55