ОП явно просит создать ссылку с помощью JavaScript (не HTML)!

я есть строка для заголовка и строка для ссылки. Я не уверен, как соединить их вместе, чтобы создать ссылку на страницу, используя Javascript. Любая помощь приветствуется.

РЕДАКТИРОВАТЬ1: Добавление более подробной информации к вопросу. Причина, по которой я пытаюсь это выяснить, заключается в том, что у меня есть RSS-лента и список заголовков и URL-адресов. Я хотел бы связать заголовки с URL, чтобы сделать страницу полезной.

EDIT2: я использую jQuery, но я совершенно новичок в этом и не знал, что это может помочь в этой ситуации.

 Jared Farrish23 янв. 2011 г., 08:57
Вы загружаете RSS-канал с помощью jQuery или чего-то еще (Mootools, Dojo, Atlas и т. Д ...)? Если вы пытаетесь динамически создавать теги привязки на основе стороннего списка RSS, получаемого при загрузке страницы, я бы предложил использовать библиотеку jQuery или другую для добавления элемента. Детали в этом случае важны, чтобы знать, что нужно сделать. Тем не менее, методы DOM являются полезной иллюстрацией.
 Chetan23 янв. 2011 г., 08:57
Предложение: используйте jQuery.
 Yitzhak Weinberg29 мар. 2016 г., 15:57
попробуй этоссылка Я думаю, что это может быть полезно

Ответы на вопрос(7)

Если вы хотите использовать сырой 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>");
 Roopinder23 янв. 2011 г., 09:49
Я также предпочитаю первый вариант, но, возможно, использую JQuery для достижения того же эффекта (для удобства чтения и простоты обслуживания).
 jmort25323 янв. 2011 г., 08:56
Мне определенно больше нравится первый вариант. +1 за это, но смешивание JS и HTML смешивает контент и поведение, которое должно быть отдельным. Передержка, которая может привести к техническому кошмару.
 TryHarder08 авг. 2012 г., 09:58
Вам, вероятно, следует избегать использования document.writestackoverflow.com/questions/4520440/...

Создайте ссылки, используя JavaScript:

<script language="javascript">
<!--
document..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
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>
С JQuery
$('<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 переменная, которая содержит текст, который будет отображаться в элементе привязки.

 zzzzBov24 янв. 2011 г., 23:45
+1 за полноту.
 travis03 окт. 2012 г., 03:05
Я думаю, что единственное, что вы оставили, это:document.getElementsByTagName('body')[0].innerHTML += desiredText.link(desiredLink);
 gion_1303 окт. 2012 г., 09:41
@travis thx. Я действительно не использовал это раньше :)
 Wes Turner17 дек. 2014 г., 02:51
Чтобы избежать XSS, вы должны избегать конкатенации строк (+) а также.innerHTML при построении HTML. С помощью jQuery,.attr("href", desiredLink) а также.text(desiredText) это то, что вы хотите здесь.

    <script>
      _$ = document..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% сайтов будут работать на обоих.

Не по теме: Это не очень важно при создании ссылок в JS, но, может быть, это полезно знать: Ну иногда как в dev-консоли chromes вы можете использовать$("body") вместоdocument.querySelector("body") A _$ = document.querySelectorбудет «уважать» ваши усилия сНезаконное обращение ошибка при первом использовании. Это потому, что задание просто «захватывает».querySelector (ссылка накласс метод). С участием.bind(... вы также включите контекст (здесь этоdocument) и вы получитеобъект метод, который будет работать так, как вы могли бы ожидать.

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

   document.body.appendChild(anchorElem); // append your new link to the body
 Nadu01 февр. 2017 г., 18:23
Используйте `anchorElem.text = yourLinkText; `вместо innerHTML это будет более понятно. И да, подумайте, что произойдет, если yourLinkText может быть "<- это круто!"
Решение Вопроса
<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>
 Harold Castillo15 сент. 2017 г., 19:30
plnkr.co/edit/mV7nOBIHa6hMNaVIPG75?p=preview Я был создан пример плунжера.
 Jared Farrish23 янв. 2011 г., 08:51
Это очень общий пример использования методов DOM для добавления тега привязки на страницу. Например, метод appendChild может быть элементом списка, TD или другим элементом на странице. Видеть:quirksmode.org
 Jared Farrish30 янв. 2017 г., 18:36
@ Наду - Пожалуйста, прекратите редактировать мой ответ. Если вы хотите, чтобы конкретная вещь была сказана, добавьте одну из ваших; если он не «отличается» достаточно, чтобы оправдать его, он не достаточно отличается, чтобы гарантировать редактирование.

<A HREF = "index.html">Click here</A>

 Hatef24 апр. 2016 г., 20:36
ОП явно просит создать ссылку с помощью JavaScript (не HTML)!

Ваш ответ на вопрос