2012-12-07 26 views
2

我有一個字符串值包含超鏈接。我只想要url後的值爲:http://start.somesite.net/media/videos/flash/12345.flv。 url =後的值是動態的,所以我如何抓住這個動態值並將其作爲變量?如何從javascript中的字符串值獲取href = value的一部分?

這是輸入字符串值:

<h4> 
     <a href="http://www.somesite.com/season/?url=http://start.somesite.net/media/videos/flash/12345.flv" 
    target="_blank">Download Episode 3</a> 
+0

哇,驚奇有多少人在爲一個DOM元素時,它說治療這種「這個是輸入字符串值:」 –

+0

所以,輸入字符串被打破HTML? (在示例中h4未關閉) – Christophe

回答

-1

var url = input_str.match(/url=([^"]+)"/)[1];

+0

實際上,他正在尋找url = not href =之後的部分。 – SmartK8

+0

良好的捕獲,糾正 –

+0

它有時發生在我們所有人身上。 (我不是那個誰投你btw) – SmartK8

0
document.getElementsByTagName("a")[0].href 
3

嘗試:

var url = href.match(/url=(.+)/)[1] 
+0

url =不存在於輸入字符串 –

+1

嗯......它在他的代碼中...... – elclanrs

+0

它在哪裏說'url ='? '

Download Episode 3' –

0

一步一步: 給你的標籤一個ID。

var yourTag = document.getElementsById("your_tag_id"); //Get ref to your tag 
var str = yourTag.getAttribute("href"); //Get the entire url 
var arr = str.split("="); //Break in two parts. 
str = arr[1]; //Take the second part. 
0

開啓字符串轉換爲實際的錨使得使用URL字符串的工作變得輕而易舉

var div = ​docu​ment.createElement('div'); 
div.innerHTML = '<a href="http://www.somesite.com/season/?url=http://start.somesite.net/media/videos/flash/12345.flv" target="_blank">Download Episode 3</a>'​​​​​​​​​​​ 

var a = div.querySelectorAll('a'); 
alert(a[0].search.split('=')[1]); 

我喜歡這種方法,因爲它可以讓你獲得各種信息,如果你需要它:

a[0].protocol 
a[0].hostname 
a[0].hash 
a[0].port 
a[0].innerText 
+0

+1這將是一個優雅的解決方案,如果輸入字符串是常規的HTML(不破例如在示例中)。分割('?url =')可能會更好。 – Christophe

1

如果您正在使用jQuery試試這個:

var link=$('#id_of_the_tag_a').attr('href'); 
    var linkSplitted=link.split('?url='); 
    var final=linkSplitted[1]; 

如果妳願意,你可以去here看到的結果

+0

jsFiddle中的索引是[1]。只是在說' – SmartK8

相關問題