如何将javascript的结果显示为HTML链接?

如何将javascript的结果显示为HTML链接?,javascript,html,hyperlink,Javascript,Html,Hyperlink,我有以下代码,用于检索服务器的主机名,并向其附加一些文本(文件名)并将其显示在html页面上 <script type="text/javascript"> function getBaseUrl() { var re = new RegExp(/^.*\//); } </script> <script type="text/javascript"> document.write(getBaseUrl() + "fil

我有以下代码,用于检索服务器的主机名,并向其附加一些文本(文件名)并将其显示在html页面上

<script type="text/javascript">
    function getBaseUrl() {
        var re = new RegExp(/^.*\//);
    }
</script>

<script type="text/javascript">
    document.write(getBaseUrl() + "filename.ext");
</script>

函数getBaseUrl(){
var re=new RegExp(/^.*\/);
}
write(getBaseUrl()+“filename.ext”);

这会生成一个服务器URL,比如我所需要的URL。我试图从中创建链接的所有内容都会破坏一切。如何使生成的文本可单击?

您需要将其包装在
中。如果指定
来修改链接,同时指定来修改文本,这是最简单的:

函数getBaseUrl(){ 返回'http://www.google.com/'; } const output=document.getElementById('output'); output.innerHTML='链接标题'; output.href=getBaseUrl()+“filename.ext”
这很简单-

const link = getBaseUrl()+ "filename.ext";

createLinkNode(link, document.body);

// defining a function to create a link node, however this isn't neccessary,
// you could just hard code the logic above.
// I wouldn't recommend setting innerHtml in lieu of making a text node however.
function createLinkNode(url, parent) {
  const linkTextNode = document.createTextNode(url);
  const linkNode = document.createElement('a');
  linkNode.href = url;
  linkNode.appendChild(linkTextNode);

  parent.appendChild(linkNode);
}

示例:

试试这个,我假设getBaseUrl()可以工作,尽管看起来不像。只是提醒一下,


“我曾尝试创建一个链接,它会破坏东西”-请向我们展示您如何尝试创建链接,并解释它破坏了什么以及它是如何破坏的。这正是我想要的!非常感谢。我有一个很好的时间让链接显示在适当的地方。总是被扔到页面底部,而不是我的任何一个。有什么想法吗?应该更新对createLinkNode的调用-而不是document.body,您可以使用document.querySelector获取要附加到的适当DOM元素。知道了!非常感谢你!每天学习多一点javascript。:)
<script>
    function getBaseUrl() {
        var re = new RegExp(/^.*\//);
    }
</script>

<a href="javascript:" onclick="location.href=getBaseUrl() + 'filename.ext'">Click</a>