タイトルの文字列とリンクの文字列があります。 Javascriptを使用してページ上にリンクを作成するために2つを組み合わせる方法がわかりません。任意の助けは大歓迎です。
編集1:質問の詳細を追加する。これを理解しようとしているのは、RSSフィードがあり、タイトルとURLのリストがあるからです。ページを便利にするために、タイトルをURLにリンクします。
編集2:私はjQueryを使用していますが、まったく新しいものであり、この状況で役立つ可能性があることに気付いていませんでした。
<html>
<head></head>
<body>
<script>
var a = document.createElement('a');
var linkText = document.createTextNode("my title text");
a.appendChild(linkText);
a.title = "my title text";
a.href = "http://example.com";
document.body.appendChild(a);
</script>
</body>
</html>
var a = document.createElement('a');
a.setAttribute('href',desiredLink);
a.innerHTML = desiredText;
// apend the anchor to the body
// of course you can append it almost to any other dom element
document.getElementsByTagName('body')[0].appendChild(a);
document.getElementsByTagName('body')[0].innerHTML += '<a href="'+desiredLink+'">'+desiredText+'</a>';
または @ travis で示唆されているように、
document.getElementsByTagName('body')[0].innerHTML += desiredText.link(desiredLink);
<script type="text/javascript">
//note that this case can be used only inside the "body" element
document.write('<a href="'+desiredLink+'">'+desiredText+'</a>');
</script>
$('<a href="'+desiredLink+'">'+desiredText+'</a>').appendTo($('body'));
$('body').append($('<a href="'+desiredLink+'">'+desiredText+'</a>'));
var a = $('<a />');
a.attr('href',desiredLink);
a.text(desiredText);
$('body').append(a);
上記のすべての例では、 'body'だけでなく任意の要素にアンカーを追加できます。また、desiredLink
は、アンカー要素が指すアドレスを保持する変数です。また、desiredText
は、アンカー要素に表示されるテキストを保持する変数。
JavaScriptを使ってリンクを作成してください:
<script language="javascript">
<!--
document.write("<a href=\"www.example.com\">");
document.write("Your Title");
document.write("</a>");
//-->
</script>
または
<script type="text/javascript">
document.write('Your Title'.link('http://www.example.com'));
</script>
または
<script type="text/javascript">
newlink = document.createElement('a');
newlink.innerHTML = 'Google';
newlink.setAttribute('title', 'Google');
newlink.setAttribute('href', 'http://google.com');
document.body.appendChild(newlink);
</script>
いくつかの方法があります。
生のJavascriptを(JQueryのようなヘルパーなしで)使いたい場合は、次のようにします。
var link = "http://google.com";
var element = document.createElement("a");
element.setAttribute("href", link);
element.innerHTML = "your text";
// and append it to where you'd like it to go:
document.body.appendChild(element);
もう1つの方法は、リンクをドキュメントに直接書き込むことです。
document.write("<a href='" + link + "'>" + text + "</a>");
<script>
_$ = document.querySelector .bind(document) ;
var AppendLinkHere = _$("body") // <- put in here some CSS selector that'll be more to your needs
var a = document.createElement( 'a' )
a.text = "Download example"
a.href = "//bit\.do/DeezerDL"
AppendLinkHere.appendChild( a )
// a.title = 'Well well ...
a.setAttribute( 'title',
'Well well that\'s a link'
);
</script>
「アンカーオブジェクト」には、リンク、テキストを設定するための独自の*(継承)*プロパティがあります。だからそれらを使用してください。 。setAttributeはより一般的ですが、通常は必要ありません。 a.title ="Blah"
は同じことを行い、より明確です! 。setAttributeが必要な状況は次のとおりです:var myAttrib = "title"; a.setAttribute( myAttrib , "Blah")
プロトコルは開いたままにします。 http: // example.com/pathの代わりに、// example.com/pathのみを使用することを検討してください。 example.comにhttp:およびhttps:でアクセスできるかどうかを確認しますが、95%のサイトが両方で機能します。
OffTopic:JSでリンクを作成することはあまり関係ありませんが、知っておくと良いかもしれません:クロムの開発コンソールのように、$("body")
の代わりにdocument.querySelector("body")
を使用できる場合があります。_$ = document.querySelector
は、最初の使用時に不正な呼び出しエラーが発生しました。これは、割り当てが単に「グラブ」。querySelector(classメソッドの参照)であるためです。 .bind(...
を使用すると、コンテキストも関与し(ここではdocument
です)、期待どおりに機能するobjectメソッドを取得します。
生のJavaScriptでハイパーリンクを動的に作成します。
var anchorElem = document.createElement('a');
anchorElem.setAttribute("href", yourLink);
anchorElem.innerHTML = yourLinkText;
document.body.appendChild(anchorElem); // append your new link to the body