2010-08-26 44 views
2

變量我發現這個代碼片段,它的工作原理一種享受:jQuery的gettings從IMG SRC而不是window.location.href

$.urlParam = function(name){ 
    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href); 
    if (!results) { return 0; } 
    return results[1] || 0;} 
} 

因此,如果URL /查詢字符串是xyz.com/index.html ?lang = de

只需調用var langval = $ .urlParam('lang');和你有它

-

我的信息是從點擊圖片就快到了,所以我創造了這個代碼:

$('#admin-slideshow img').click(function() { 
    alert($(this).attr('src')); 
} 

因此,如果代碼是:

<a href="#"><img src="image.php?url=image.jpg&tid=1&opn=1" /></a> 

它只會提醒(image.php?url = image.jpg & tid = 1 & opn = 1)。

我的腦海裏想的是添加一段代碼$(this).attr('src');並用window.location.href替換它。它不起作用。有什麼建議麼?

​​

回答

2

試試這個,

$.urlParam = function(name, src){ 
    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(src || window.location.href); // if src is undefined defualt is window.location.href 
    if (!results) { return 0; } 
    return results[1] || 0; 
} 

使用它作爲

$.urlParam('lang',window.location.href); // for url or just $.urlParam('lang'); 
$.urlParam('lang',$('#admin-slideshow img').attr('src')); // for images 

$('#admin-slideshow img').click(function() { 
    alert($.urlParam('opn',this.src)); 
} 
+0

您應該在函數簽名:'function(name,src)'中交換'src'和'name',因爲如果src'是第一個參數,它總是**會被定義。 '.urlParam('lang')''將會有'lang'作爲源和'name'將被定義。 – 2010-08-26 08:49:17

+0

好點。謝謝Felix。 – Reigel 2010-08-26 09:14:04

+0

謝謝你。我在整個腳本中都發布了警報,看看它在哪裏出錯,並且它沒有傳遞任何東西......我不知道爲什麼它不起作用。 – 2010-08-26 09:30:58

1
function urlParam(name){ 
    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href); 
    return (results != undefined) ? results[1] : false; 

} 

刪除JS錯誤,當找不到網址PARAM。