Как дать тегу Div уникальный идентификатор с помощью JavaScript - PullRequest
1 голос
/ 13 сентября 2011

Я могу создать тег div, используя document.createElement ('div')

Однако я не знаю, как дать ему уникальный идентификатор.

Может ли кто-нибудь помочь мне с этим.

Я знаю, как это сделать, используя innerHTML, но это очень громоздко. (Я слышал, это не очень хороший способ создания макета.)

Ответы [ 4 ]

9 голосов
/ 13 сентября 2011

Понимая unique как идентификатор, который не должен смешиваться с другими идентификаторами в разметке, самый простой способ - получить локальную метку времени.Как показано здесь :

let div = document.createElement("div");
// With old JS syntax
div.id = "div_" + new Date().getTime().toString();
// With ES6 Template Strings you can also write
div.id = `div_ ${new Date().getTime().toString()}`;

Хотя работа с createElement может быть немного неприятной, вам следует использовать некоторую среду JavaScript, которая решает для вас крошечные мелочи (напримеркак jQuery, Mootools, Dojo и т. д.).

4 голосов
/ 13 сентября 2011
var d = document.createElement('div');
d.id = 'myElementId';
d.innerHTML = 'This is the content!';

Или

var d = document.createElement('div')
   .id = 'myElementId';

.. То же самое на самом деле, просто другой способ раскладывания.

Это заботится о назначении идентификатора.Теперь для уникального.Лучший способ - использовать текущее время, так как оно вряд ли будет повторяться, поскольку время javascript указано в миллисекундах.дублировать себя в правильных обстоятельствах.Если поддержание уникальности является критически важным, то единственный способ - использовать указатель:

// establish  a variable to hold the pointer
var uniquePointer = 0;

// every time you use the pointer to create a new element, increment the pointer.
var d = document.createElement('div')
   .id = 'id'+uniquePointer;
uniquePointer ++;
2 голосов
/ 13 сентября 2011

Вы можете использовать библиотеку для этого: https://github.com/LiosK/UUID.js

«Создает UUID, соответствующие RFC 4122».

Имея элемент, вы можете присвоить ему идентификатор, используя код:

element.id = "somePrefix" + UUID.generate()
0 голосов
/ 13 сентября 2011
var myDiv = document.createElement('div');
myDiv.id = "myUniqueId";
...