创建一个链接,并在单击按钮时点击它

4
我需要在按钮点击时创建一个链接,并且使用同一次点击单击该链接。我正在测试提到的方法。
<script type="text/javascript">
function download()
{
  alert("Hello");
  var link=document.createElement("a");

  link.href="https://dev59.com/B2445IYBdhLWcg3wnroi   javascript";
document.getElementById(link).click();

// here it says "cannot click on null", means id is not link, then how can i obtain the id

alert("Hello again");

}
</script>
<button type ="button" value="Download" onClick="download();">Downloads</button>

我需要这个,因为当按钮被点击时,我会发起一个get请求,然后我会收到一个URL,接着我需要点击这个URL(制作下载按钮,链接可能会变化)。还有其他的方法吗?
我参考了这个:如何使用javascript编程点击链接? 以及 如何使用javascript创建链接? 但是没有成功。

1
你正在尝试使用getElementById(link)来获取元素,但是"link"不是一个Id,它是一个元素。给这个链接一个Id,然后使用该Id来获取并点击它。 - undefined
为什么需要创建并点击链接呢?如果你已经有了URL,那么直接设置window.location为该URL就可以了吧? - undefined
1个回答

10

看起来你只是想改变页面的位置,而不是实际添加链接:

location.href = 'your link you got back'

如果你实际上想要在页面上添加一个物理链接:

var link=document.createElement("a");
link.id = 'someLink'; //give it an ID!
link.href="https://dev59.com/B2445IYBdhLWcg3wnroi   javascript";

//Add the link somewhere, an appendChild statement will do.
//Then run this
document.getElementById('someLink').click();

8
我认为你可以在没有id的情况下使用link.click()。 :) - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接