从变量中获取href值

时间:2013-03-27 09:39:38

标签: javascript html

我一直试图从包含链接的变量中取出 href 值。

这是我的变量,其中包含一个链接。

var mylink = "<a href='#!takethisout'><img src='http://google.com/'></a>"

我试图获得值#!takethisout ,我也用谷歌搜索了它,但是有一堆页面有关如何从真实链接获取href值。

这可能吗?感谢。

4 个答案:

答案 0 :(得分:5)

我可能错了,但我认为您要求documentFragment,以便您可以从字符串中提取href

var mylink = "<a href='#!takethisout'><img src='http://google.com/'></a>";
var div = document.createElement('div');
div.innerHTML = mylink;
var href = div.firstChild.getAttribute('href');

http://jsfiddle.net/userdude/js8r2/

答案 1 :(得分:3)

如果你可以使用jQuery,你可以这样做:

var mylink = "<a href='#!takethisout'><img src='http://google.com/'></a>";

var href = $(mylink).attr('href');
alert(href);

示例:http://jsfiddle.net/pn8M4/

答案 2 :(得分:2)

字符串拆分怎么样?

var hrefAttr = mylink.split(/href='(.*?)'/)[1]

http://jsfiddle.net/SzHLu/

答案 3 :(得分:1)

您需要使用正则表达式来解析部分字符串。

<击>

<击>
mylink.match(/href=["']([^"']+)["']/i)[1];

<击>

mylink.split(/href=["']([^"']+)["']/i)[1];

小心 - 它实际上并不解析html并寻找href属性 - 它只会找到匹配正则表达式的字符串。所以在这种情况下

<a href=#!foobar>

它不起作用

upd:在不存在匹配的情况下使用split不会破坏代码 - 谢谢@freshbm