【问题标题】:Insert (random) javascript array item into href将(随机)javascript数组项插入href
【发布时间】:2021-02-05 18:46:38
【问题描述】:
我有以下代码。我想让它根据提供的随机数组项(这是 URL 的后半部分)提供一个 href。换句话说,它应该随机将您带到博客 (http://website.com/blog)、关于页面或主页。我已经注意到这里使用的方法:Getting a random value from a JavaScript array,但他们只控制台记录输出。我找不到任何示例说明如何将该输出放入 href 的后半部分。
<a id='link' href='http://website.com/'>Click me</a>
<script>
var pages = ['blog','about','home'];
</script>
我希望任何答案都将使用 javascript math.random() 函数,但我已将其排除在我的问题之外,以防止如果我没有最有效地使用它,它会变得比必要的更混乱。
【问题讨论】:
标签:
javascript
html
arrays
random
href
【解决方案1】:
我们的想法是获取数组的随机索引。获得索引后,您可以从数组中获取值并设置 href 属性。
const anchor = document.getElementById('link');
const pages = ['blog','about','home'];
const random = Math.floor(Math.random() * pages.length);
anchor.href = `http://website.com/${pages[random]}`;
// For Display Purposes Only
document.getElementById('display').innerText = anchor.href;
<a id='link' href='http://website.com/'>Click me</a>
<div id="display"></div>
【解决方案2】:
您可以使用随机元素,然后重新分配 a 标签的 href 属性。
var pages = ['blog','about','home'];
const randomElement = pages[Math.floor(Math.random() * pages.length)];
document.querySelector('a').href = `http://${randomElement}.com/`
console.log(document.querySelector('a').href )
<a id='link' href='http://website.com/'>Click me</a>