我有一个标题字符串和一个链接字符串。我不知道如何将两者结合在一起使用Javascript在页面上创建链接。任何帮助表示赞赏。
EDIT1:在问题中添加更多细节。 我试图解决这个问题的原因是因为我有一个RSS提要并且有一个标题和URL列表。我想将标题链接到URL以使页面有用。
EDIT2:我正在使用jQuery,但我完全不知道它并且不知道它可以在这种情况下提供帮助。
答案 0 :(得分:205)
<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>
答案 1 :(得分:54)
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
是一个变量,用于保存锚点元素指向的地址,{{1} }是一个变量,用于保存将在anchor元素中显示的文本。
答案 2 :(得分:15)
使用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>
答案 3 :(得分:11)
有几种方法:
如果你想使用原始的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);
另一种方法是将链接直接写入文档:
document.write("<a href='" + link + "'>" + text + "</a>");
答案 4 :(得分:4)
<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>
&#13;
&#39; Anchor Object&#39;有自己的*(继承)*属性来设置链接及其文本。所以只需使用它们。 .setAttribute 更为通用,但您通常不需要它。 a.title ="Blah"
会做同样的事情并且更清楚!
那种需要 .setAttribute 的情况是:var myAttrib = "title"; a.setAttribute( myAttrib , "Blah")
保持协议开放。 而不是 http: // example.com/path考虑使用//example.com/path。 检查是否可以通过 http:以及 https:访问example.com,但95%的网站都可以同时使用。
OffTopic: 这与在JS中创建链接无关
但也许很高兴知道:
好吧有时像在chromes dev-console中你可以使用$("body")
代替document.querySelector("body")
而_$ = document.querySelector
将荣誉&#39;第一次使用时出现非法调用错误。那是因为作业只是抓住了#39; .querySelector (参考类方法)。使用.bind(...
,您还会涉及上下文(此处为document
),您将获得一个对象方法,该方法可以像您一样工作期待它。
答案 5 :(得分:3)
使用原始JavaScript动态创建超链接:
var anchorElem = document.createElement('a');
anchorElem.setAttribute("href", yourLink);
anchorElem.innerHTML = yourLinkText;
document.body.appendChild(anchorElem); // append your new link to the body
答案 6 :(得分:-4)
你把它粘贴在里面:
<A HREF = "index.html">Click here</A>