将(随机)javascript 数组项插入 href

Insert (random) javascript array item into href

我有以下代码。我想让它根据所服务的随机数组项(它们是 URL 的后半部分)提供一个 href。换句话说,它应该随机带你到博客(http://website.com/blog), About page or Home page. I have taken note of the method used here: 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() 函数,但我已将其排除在我的问题之外,以防止如果我不经常使用它,它会变得比必要的更混乱高效。

您可以使用随机元素,然后重新分配 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>

想法是获取数组的随机索引。一旦有了索引,就可以从数组中获取值并设置 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>