簡體   English   中英

從 javascript 數組生成可點擊的 HTML 鏈接

[英]Generating a clickable HTML link from a javascript array

我在網上找到了可以 select 並從數組中打印隨機名稱的代碼,我正在嘗試修改它以打印鏈接而不是名稱。 我希望該鏈接是可點擊的,因為它通常在 HTML 中。 但是,我不確定如何修改 javascript 來做到這一點。

這是我在下面做的方法。 但結果是它只打印了 HTML 頁面上的代碼,而不是交互式鏈接。 有什么更好的方法來做到這一點?

let btnRandom = document.querySelector('button');
let result = document.querySelector('h1');

let links = ['https://www.nytimes.com/2019/09/19/climate/air-travel-emissions.html', 'Link2', 'Link3', 'Link4', 'Link5', 'Link6', 'Link7'];

function getRandomNumber(min, max) {
  let step1 = max - min + 1;
  let step2 = Math.random() *step1;
  let result = Math.floor(step2) + min;

  return result;
}

btnRandom.addEventListener('click', () => {
  let index = getRandomNumber(0, links.length-1);
  result.innerText = '<a href ="' + links[index] + '"</a>';
});

我當前代碼的結果:

結果

您可以使用 innerHTML 屬性而不是 innerText 到 append 鏈接作為實際的 HTML 元素。

或者,也可以按照此處提到的方法創建一個鏈接元素並將 append 連接到“結果”節點。

使用Document.createElement()創建一個<a>元素。 然后 append 使用Node.appendChild()將元素添加到h1節點

 let btnRandom = document.querySelector('button'); let result = document.querySelector('h1'); const links = ['https://www.nytimes.com/2019/09/19/climate/air-travel-emissions.html', 'Link2', 'Link3', 'Link4', 'Link5', 'Link6', 'Link7']; function getRandomNumber(min, max) { let step1 = max - min + 1; let step2 = Math.random() *step1; let result = Math.floor(step2) + min; return result; }; btnRandom.addEventListener('click', () => { let index = getRandomNumber(0, links.length-1); const a = document.createElement("a"); a.textContent= links[index]; a.href= links[index]; result.appendChild(a); });
 <button>Ramdom Link</button> <h1></h1>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM