【问题标题】:passing a target to the js link() method将目标传递给 js 的 link() 方法
【发布时间】:2011-12-08 00:08:21
【问题描述】:

如何将目标 _blank 传递给 js link 方法?

x = "my link to google"
x.link("www.google.com")

<a href="www.google.com">my link to google</a>

如果不可能,我可以使用其他方法吗?

【问题讨论】:

    标签: javascript hyperlink target


    【解决方案1】:

    你不能; String.link 方法很古老,而且大多已被弃用。改为使用 DOM 方法构造链接:

    var link = document.createElement("a");
    link.setAttribute("href", "http://www.google.com/");
    link.setAttribute("target", "_blank");
    link.appendChild(document.createTextNode("my link to google"));
    ...
    // this, or whatever else you want to do to add it to the document:
    document.getElementById("something").appendChild(link);
    

    要么这样,要么自己建立字符串。 String.link 反正也没做什么。

    【讨论】:

    • hreftarget 都是 link 的属性。我更喜欢link.href = "http://www.google.com" 语法而不是使用.setAttribute()。但是,我想这只是一种风格偏好。
    • createTextNode 不是 createTextElement
    【解决方案2】:

    如果你真的想用link方法来做,你可以使用replace

    .replace('a href=', 'a target="_blank" href=');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 2015-06-30
      • 1970-01-01
      • 2020-12-10
      相关资源
      最近更新 更多