1

我需要这样的东西:

var link = " http://www.google.com";

<a href='link' />

所以我需要使用一个变量作为href链接的属性。这可能吗?

它与 "<a href= '" + link + "' />". 有没有更好的办法?

4

4 回答 4

3

您应该在服务器上设置 href 值,为此使用脚本是不好的设计。

但是,要回答这个问题,可以使用脚本来设置 A 元素在 DOM 中的 href 属性,例如:

<a href="<一个有用的 URI,如果 javascript 不可用>" id="a0">foo</a>

<script type="text/javascript">
  var a = document.getElementById('a0');
  如果一个) {
    a.href = "http://www.google.com";
  }
</脚本>

当然,还有一千种其他方法,都有它们的陷阱。所以在服务器上设置值并避免它们。

--
抢
于 2010-01-23T00:42:50.960 回答
0

使用 jQuery 这将是

var link = "http://www.google.com";
$("a[href='link']").attr("href", link);

尽管如果关闭 javascript 并且您可能想要使用其他东西而不是通过 href 选择,这不会优雅地降级。

于 2010-01-23T00:34:24.413 回答
0

如果您实际上正在编写这两行代码,那么使用 write 会容易得多

<a href="http://www.google.com">Google</a>

否则,您将需要使用 JavaScript 来设置href链接的属性,这将需要获取对它的引用(这意味着您应该设置它的id属性)。

所以你可以写这样的东西:

<a id="myLink">Google</a>

并且在您的 JavaScript 中有:

document.getElementById("myLink").href=link

但首先,请考虑这是否真的有必要(或在您的问题中提供更多细节)。

于 2010-01-23T00:34:32.527 回答
0

您正在使用 Jetpack,因此您可以执行<a href={link}/>.toXMLString().

如果您只想创建一个<a/>元素,请使用以下内容。

var anchor = document.createElement("a");
anchor.href = link;
于 2010-01-23T00:46:54.667 回答