2012-12-21 103 views
0
<a href="?action=add&question=149&cat=88">Answer</a>' 

這是我需要獲取href值的url我不能使用element.getAttribute。我無法使用dom解析。 但如果我嘗試使用搜索機制url解析javascript

td3_element = <td valign="top"> 
<a href="?action=add&question=149&cat=88">Answer</a> 
</td> 

href_start = td3_element.search("<a href=") + 8; 
td3_part = td3_element.substring(href_start); 
href_end = td3_part.search(">Answer</a>"); 
href_element = td3_part.substring(0,href_end); 

href_element will only be till `?action=addamp` 

它走的是

; 

字符amp後即將作爲行結束,它將終止搜索到該點解析它。有人可以告訴我一個解決方案,將提供所需的href,而不使用DOM解析器

+2

我爲什麼使用它作爲Firefox擴展開發的一部分,你不能使用element.getAttribute() –

+0

有i'have解析我的代碼的某些部分沒有使用element.getAttribute().bcoz我將從ajax調用中獲取元素我嘗試過XML解析將元素附加到Div並解析它沒有任何工作,所以我要這樣 – wh0

回答

0

您是否嘗試過正則表達式?我不確定你的意思是「搜索機制」。

例如:

var htmlString = 'td3...(etc)'; 
var regex = /href="([^"])"/; 
var hrefUrl = regex.exec()[1]; 
console.log(hrefUrl); //?action=add&question=149&cat=88 

參見this jsfiddle

0

嘗試正則表達式

var a='<a href="?action=add&question=149&cat=88">Answer</a>'; 
a.match(/href="(.*)"/)[1]; 
-1
如何

一下:

JSBIN Demo

創建一個臨時的div設置的innerHTML和解析,

var str = '<a href="?action=add&question=149&cat=88">Answer</a>'; 

var div = document.createElement('div'); 
div.innerHTML = str; 

document.write(div.childNodes[0].getAttribute('href'))