170 votes

Comment puis-je créer un lien à l'aide de javascript?

J'ai une chaîne de caractères pour un titre et une chaîne pour un lien. Je ne suis pas sûr de la façon de mettre les deux ensemble pour créer un lien sur une page à l'aide de Javascript. Toute aide est appréciée.

EDIT1: Ajout de détails sur la question. La raison pour laquelle je suis en train d'essayer de comprendre cela est parce que j'ai un flux RSS et une liste de titres padn Url. Je souhaiterais établir un lien entre les titres à l'URL de la page utile.

EDIT2: je suis à l'aide de jQuery, mais je suis complètement nouveau pour elle et n'était pas au courant qu'il pourrait les aider dans cette situation.

283voto

Jared Farrish Points 26391
<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>

69voto

gion_13 Points 15594

Avec 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>';
    

    ou, comme suggéré par @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>
    

Avec 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);
    

Dans tous les exemples ci-dessus, vous pouvez ajouter de l'ancre à n'importe quel élément, et pas seulement pour le "corps" et, desiredLink est une variable qui contient l'adresse de votre point d'ancrage de l'élément de pointe, et desiredText est une variable qui contient le texte qui sera affiché dans l'élément d'ancrage.

20voto

NAVEED Points 16576

Créer des liens à l'aide de JavaScript:

<script language="javascript">
<!--
document.write("<a href=\"www.example.com\">");
document.write("Your Title");
document.write("</a>");
//-->
</script>

OU

<script type="text/javascript">
document.write('Your Title'.link('http://www.example.com'));
</script>

OU

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

16voto

Roopinder Points 121

Il ya un couple de façons:

Si vous souhaitez utiliser le raw Javascript (sans aide comme JQuery), alors vous pourriez faire quelque chose comme:

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);

L'autre méthode consiste à écrire le lien directement dans le document:

document.write("<a href='" + link + "'>" + text + "</a>");

5voto

jmort253 Points 16929

Créer dynamiquement un lien hypertexte avec le format raw JavaScript:

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

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X