dragonika8
@dragonika8
FrontEnd-Разработчик

Как созданным элементом задать id?

Я создаю элементы при помощи append (Если есть лучше способ, можете посоветовать ?)

Вот мой код
for (let i = 0; i < data.length; i++) {
            $('.server-menu').append('<div class="server"></div>');
            $('.server').attr('data-id',i);
            let id = $('.server').data('id');
            let server = $(`.server[data-id="${id}"]`);
     }


У меня получается задать всем элементам последнее число i, но я хочу чтобы задавалось, своё число.
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
LenovoId
@LenovoId
svg, css,js
Только сегодня я этот вопрос задавал : https://ru.stackoverflow.com/a/975452/330688

var idArr = [];
for (var i = 0; i < $('ul').length; i++) { 
  while (true) {
    var randomId = Math.floor(Math.random() * 100000);
    if (idArr.indexOf(randomId) == -1) {
      idArr.push(randomId);
      break;
    }
  }
}

$('elem').each(function(i, elem) {
  this.id = idArr.pop();
});


elem это что у вас ul или li или div или что то ...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ajgrp
function ran (from, to) {
    var r = from - 0.5 + Math.random() * (to - from + 1)
    r = Math.round(r);
    return r;
  }

var random =  ran(5, 10) ;
for (let i = 0; i < data.length; i++) {
            $('.server-menu').append('<div class="server" id="' + random + '"</div>');
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы