0

リンクを含む変数からhref値を取り出そうとしています。

これはリンクを含む私の変数です。

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

値#!takethisoutを取得しようとしましたが、 グーグルでも検索しましたが、実際のリンクからhref値を取得する方法が記載されたページがたくさんあります。

これは可能ですか?ありがとう。

4

4 に答える 4

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/

于 2013-03-27T09:44:37.607 に答える
3

jQueryを使用できる場合は、次のように実行できます。

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

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

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

于 2013-03-27T09:49:45.203 に答える
2

文字列の分割はどうですか?

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

http://jsfiddle.net/SzHLu/

于 2013-03-27T09:50:39.433 に答える
1

パーツ文字列を解析するには正規表現が必要です。

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

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

注意してください-実際にはhtmlを解析してhref属性を探しません-正規表現に一致する文字列のみを検索します。したがって、この場合

<a href=#!foobar>

うまくいかないだろう

upd:splitを使用しても、一致が存在しない場合でもコードが破損することはありません-@freshbmに感謝します

于 2013-03-27T09:50:02.220 に答える