2011-12-15 14 views
0

の一部で、私は動的な要素を持っている私のページのURLを持っている...私は次のコードでHREFをPRATEしたいjQueryの変更HREFはURL

<a class="TOPHEADING" href="/CRM/eware.dll/SessionFind?&Act=200&CLk=T&Key0=1&Key1=2" target="EWARE_MID"> 

すなわちKEY1とKEY0値...

var strPath = document.URL; 
var arrayApp = strPath.split("&Act"); 
var strStartPath = arrayApp[0]+GetKeys()+"&Act=432"+"&dotnetdll=Customs&dotnetfunc=RunCompanySummary"; 
document.location.href= strStartPath; 

新しいリンクはstrStartPath変数に保持されます。

本質的に私は展開されたhrefを、ページの読み込み時に変数strStartPathのものに置き換える必要があります。

これはJQueryで可能ですか?

+1

は可能ですか? – Evan

+0

@エヴァンは編集が申し訳ありません –

+0

http://stackoverflow.com/questions/901115/get-query-value-in-javascript – karim79

答えて

2

「これは非常に複雑ですか?それは本当に簡単です、のは、このコードを壊してみましょう:

function getParameterByName(name) 
{ 
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
    var regexS = "[\\?&]" + name + "=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(window.location.href); 
    if(results == null) 
    return ""; 
    else 
    return decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 

この関数は一つのパラメータ「名前」を取得します。 最初の2行は正規表現です.3番目の正規表現は新しい正規表現オブジェクトを定義します。 4行目で正規表現を実行します。現在のページのURLである "window.location.hre"には、現在のURLに式の結果があるかどうかがチェックされます。あなたのニーズに

Basicly、:

<a href="http:/www.bla.com/g.php?key0=11212&key1=2222&bla=wewe" id="link1"> 

<script> 
var link = document.getElementById("link1"); 
var url = link.href; 
var keyZeroValue = getParametersByname("key0" , url); 
var keyOneValue = getParametersByname("key1" , url); 

function getParameterByName(name,url) 
{ 

    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
    var regexS = "[\\?&]" + name + "=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(url); 
    if(results == null) 
    return ""; 
    else 
    return decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 

これが作業を行う必要があります。