【问题标题】:Javascript - how to make 'a' element as link using 'href' as variable [closed]Javascript - 如何使用'href'作为变量将'a'元素作为链接[关闭]
【发布时间】:2013-11-08 17:24:08
【问题描述】:

我有这个代码:

var a, link;

link = "books/" + this.model.get("id");

a = document.createElement('a');

a.href = link;

它为每本书创建 url。但它将其输出为文本。如何将其输出为可以点击的链接?

【问题讨论】:

  • 你是什么意思,“它输出为文本”?您发布的代码创建了 <a> 元素,但对它没有任何作用。
  • 你可以使用jQuery吗?
  • 你的意思是这样的:jsfiddle.net/AS3LQ?
  • 请详细描述问题。实际上,您没有对链接元素做任何事情,因此很难想象您会如何看到一些文本。
  • @FelixKling:链接的.toString() 显示为href 属性的文本。 OP 很可能使用alert(a);,它调用.toString()

标签: javascript dom hyperlink


【解决方案1】:

document.getElementsByTagName("a")[0].setAttribute("href",link);

试试这个

【讨论】:

  • 这将更改第一个现有链接的 URL,而不是新创建的链接。
  • 使用 .lastChild 选项
【解决方案2】:

你实际上并没有将元素附加到任何东西。

var a, link;

link = "books/" + this.model.get("id");

a = document.createElement('a');

a.href = link;
a.innerHTML = "something";
document.body.appendChild(a);

【讨论】:

  • 这个工作很奇怪。由于某种原因,它会在文档末尾的一行中创建链接。
  • @Andrius 这是因为<a> 元素是内联内容。如果您希望它们成为块,您可以使用 CSS 设置样式或将它们包装在块元素中(如 <div>)。
【解决方案3】:

这个简单的解决方案就像我需要的那样工作:

link = "books/"+@model.get("id")
a = document.createElement('a')
a.href = link
show = '<a href="'+a+'">show</a>'

如果有人能提供更好的解决方案,只需在正确的位置输出链接,我会选择它作为答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-14
    • 2017-06-05
    • 2016-03-02
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多