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

这是获取 href 值所需的 url,我不能使用 element.getAttribute。我不能使用 dom 解析。但是如果我尝试使用搜索机制来解析它

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作为行尾出现,它正在终止搜索到该点。有人可以告诉我一个解决方案,它可以在不使用 DOM 解析器的情况下提供所需的 href

4

3 回答 3

0

你试过正则表达式吗?我不确定您所说的“搜索机制”是什么意思。

例如:

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

另请参阅此 jsfiddle

于 2012-12-21T03:11:28.797 回答
0

尝试正则表达式

var a='<a href="?action=add&question=149&cat=88">Answer</a>';
a.match(/href="(.*)"/)[1];
于 2012-12-21T03:15:49.463 回答
-1

这个怎么样:

JSBIN 演示

创建一个临时 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'))
于 2012-12-21T03:19:07.897 回答