如何使用javascript创建链接?

时间:2011-01-23 07:37:37

标签: javascript jquery html dom hyperlink

我有一个标题字符串和一个链接字符串。我不知道如何将两者结合在一起使用Javascript在页面上创建链接。任何帮助表示赞赏。

EDIT1:在问题中添加更多细节。 我试图解决这个问题的原因是因为我有一个RSS提要并且有一个标题和URL列表。我想将标题链接到URL以使页面有用。

EDIT2:我正在使用jQuery,但我完全不知道它并且不知道它可以在这种情况下提供帮助。

7 个答案:

答案 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)

使用JavaScript

  1. 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);
    
  2. document.getElementsByTagName('body')[0].innerHTML += '<a href="'+desiredLink+'">'+desiredText+'</a>';
    

    或者,正如@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>
    
  4. 使用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);
      
    4. 在上面的所有示例中,您可以将锚点附加到任何元素,而不仅仅是“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)

&#13;
&#13;
    <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;
&#13;
&#13;

  1. &#39; Anchor Object&#39;有自己的*(继承)*属性来设置链接及其文本。所以只需使用它们。 .setAttribute 更为通用,但您通常不需要它。 a.title ="Blah"会做同样的事情并且更清楚! 那种需要 .setAttribute 的情况是:var myAttrib = "title"; a.setAttribute( myAttrib , "Blah")

  2. 保持协议开放。 而不是 http: // example.com/path考虑使用//example.com/path。 检查是否可以通过 http:以及 https:访问example.com,但95%的网站都可以同时使用。

  3. 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>