簡體   English   中英

如何為HTML元素分配隨機ID?

[英]How to assign a random id to a HTML element?

我正在做一個項目,這是一個猜謎游戲。 我希望按鈕的順序是隨機的,例如,正確的答案就不會總是左邊的。 所以我的HTML按鈕ID是“ 1,”,“ 2”,“ 3”,“ 4”,我想給它們分配一個隨機ID(例如1變成4),因為我已經嘗試過math.random並1-4可能有數字重疊。 我怎樣才能使數字不重疊? 謝謝!

創建一個按鈕ID數組(此處將使用1-4),然后從該數組中獲取一個隨機元素,並將其用作按鈕ID。

while循環遍歷按鈕ID的數組,並隨機地將其拉出,然后將其從數組中刪除,因此無法再次選擇它。 重復此過程,直到按鈕ID的數組為空。

 var buttons = [1, 2, 3, 4]; while (buttons.length) { var buttonEl = document.createElement('button'); var buttonId = buttons.splice(Math.floor(Math.random() * buttons.length), 1)[0]; buttonEl.id = 'id-' + buttonId; buttonEl.innerText = buttonId; document.getElementById('buttons').appendChild(buttonEl); } 
 <div id="buttons"> </div> 

我認為最好不要創建或搜索新的隨機數。 但改組現有陣列。 然后為按鈕分配ID。

 var ids = [1,2,3,4,5]; var shuffledIds = shuffle(ids); console.log(shuffledIds); function shuffle(array) { var rand, index = -1, length = array.length, result = Array(length); while (++index < length) { rand = Math.floor(Math.random() * (index + 1)); result[index] = result[rand]; result[rand] = array[index]; } return result; } 

暫無
暫無

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

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