如何使用 javascript 创建链接?

我有一个字符串作为标题,一个字符串作为链接。我不确定如何将这两者结合起来使用 Javascript 在页面上创建链接。感谢你的帮助。

编辑1: 为问题添加更多细节。 我之所以想弄明白这个问题,是因为我有一个 RSS 提要,并且有一个标题和 URL 的列表。我想链接到 URL 的标题,使该网页有用。

编辑2: 我正在使用 jQuery,但是我对它完全陌生,并且没有意识到它可以在这种情况下提供帮助。

507537 次浏览

使用 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>
<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>

使用原始 JavaScript 动态创建超链接:

   var anchorElem = document.createElement('a');
anchorElem.setAttribute("href", yourLink);
anchorElem.innerHTML = yourLinkText;


document.body.appendChild(anchorElem); // append your new link to the body

有几种方法:

如果你想使用原始的 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>");

用 JavaScript

  1. Var a = document.createElement (‘ a’) ;
    A.setAttribute (‘ href’,desiredLink) ;
    A.innerHTML = desiredText;
    //将锚附加到主体上
    //当然,您几乎可以将其附加到任何其他 dom 元素
    GetElementsByTagName (‘ body’)[0]
    
  2. [0] . innerHTML + =’< a href =”’+ desiredLink +’”>’+ desiredText +’’;
    

    或者,按照 @ Travis的建议:

    document.getElementsByTagName('body')[0].innerHTML += desiredText.link(desiredLink);
    
  3. <script type="text/javascript">
    //note that this case can be used only inside the "body" element
    document.write('<a href="'+desiredLink+'">'+desiredText+'</a>');
    </script>
    

With JQuery

  1. $('<a href="'+desiredLink+'">'+desiredText+'</a>').appendTo($('body'));
    
  2. $('body').append($('<a href="'+desiredLink+'">'+desiredText+'</a>'));
    
  3. var a = $('<a />');
    a.attr('href',desiredLink);
    a.text(desiredText);
    $('body').append(a);
    

In all the above examples you can append the anchor to any element, not just to the 'body', and desiredLink is a variable that holds the address that your anchor element points to, and desiredText is a variable that holds the text that will be displayed in the anchor element.

你把这个粘贴进去:

<A HREF = "index.html">Click here</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>

  1. ‘ Anchor Object’有自己的 * (继承) * 属性用于设置链接及其文本。那就用吧。。 setAttribute更一般,但你通常不需要它。a.title ="Blah"也会做同样的事情,而且更加清晰! 需要 。 setAttribute的情况是: var myAttrib = "title"; a.setAttribute( myAttrib , "Blah")

  2. 不要关闭程序。 不要使用 译者:// example.com/path ,考虑只使用// example.com/path。 检查 example.com 是否可以通过 译者:返回文章页面访问,但是95% 的站点都可以访问。

  3. 这与在 JS 中创建链接无关 不过也许你知道了真好: 嗯,有时候就像在铬开发控制台,你可以使用 $("body")而不是 document.querySelector("body")一个 _$ = document.querySelector将’荣誉’您的努力与一个 非法召唤错误,你第一次使用它。这是因为赋值只是“抓取”。 querySelector(对 同学们方法的引用)。使用 .bind(...,您还将涉及到上下文(这里是 document) ,并且您将获得一个 对象方法,该方法将按照您所期望的那样工作。

肮脏但是 快点创建元素的方法:


const linkHTML = `<a
class="my-link"
style="position: absolute; right: 0"
href="https://old.reddit.com"
title="Go to old reddit"
>
Old Reddit
</a>`;


// create element
const linkEl = strToElement(linkHTML);


// add element to document.body
document.body.appendChild(linkEl);


// utility function that converts a string to HTML element
function strToElement(s) {
let e = document.createElement('div');
const r = document.createRange();
r.selectNodeContents(e);
const f = r.createContextualFragment(s);
e.appendChild(f);


e = e.firstElementChild;
return e;
}