2012-10-17 50 views
6

我有例如本文標籤:解析的onclick = 「setLocation(...)」 與jQuery /原型

<button onclick="setLocation('http://mysite.com/checkout/cart/add/product/17/')" />

我需要做的就是啓動按鈕點擊Ajax請求。我需要從上面的URL段「product/17」附加到我的ajax url。任何聰明的方法來提取這個沒有使用正則表達式? HTML不可更改 - 但是我可以修改網址,在這種情況下,我需要從onclick屬性中提取確切的網址。

所以我要麼需要從onclick屬性提取的URL或「product/17」,希望不使用正則表達式。

感謝

回答

6

所以,如果沒有正則表達式的使用,以及解析字符串,這裏是最簡單的解決方案沒有標準:

var str = ​$("button").attr("onclick"​​​​); 
str = str.substring(str.lastIndexOf("add/") + 4, str.length - 3);​ 
+1

+1用於清晰指數計算。 – Adil

+0

基本上就是這樣,它也允許解析其他參數。謝謝 – srgb

+1

lastIndexOf在IE8中不起作用,請注意 – srgb

4

您可以分割嘗試()函數:

var url = 'http://mysite.com/checkout/cart/add/product/17'; 
var array = url.split('add/'); 
alert(array[1]);​​​​​​​​​​​ 
+0

雖然沒有回答這個問題。 – VisioN

+0

爲什麼? http://jsfiddle.net/Zw3ud/ – mdaguerre

+0

因爲OP想要解析整個'onclick'屬性值,而不是URL。 – VisioN