使用 addEventListener 创建元素唯一 id(不是 jquery)



>我有这个:

var divProducthere= document.getElementById('divProducthere'); //div 
var productbutton = document.getElementById('productbutton'); // button
  productbutton.addEventListener('click',prodElement);
   function prodElement(){
       for (var i = 0; i < 9; i++) {
        var selectProduct = document.createElement('select');
        selectProduct.id = 'r'+i;
        divProducthere.appendChild(selectProduct);
}

这对我不起作用,因为我只需要一个接一个地使用 Click 事件创建元素,但为每个创建的元素分配唯一 ID

将计数器放在全局变量中。

var select_counter = 0;
function prodElement() {
    select_counter++;
    var selectProduct = document.createElement('select');
    selectProduct.id = 'r'+select_counter;
    divProducthere.appendChild(selectProduct);
}

您可以像这样创建一个唯一的 id:

function uniqId(length = 6) {
  return (Math.random().toString(36) + Math.random().toString(36)).substr(2, length);
}
for (let i = 0; i < 10; i++) {
  console.log(uniqId(parseInt(Math.max(2, Math.random() * 10))))
}

相关内容

  • 没有找到相关文章