如何使用javascript为div标签提供唯一的ID

时间:2011-09-13 19:03:36

标签: javascript html unique innerhtml createelement

我可以使用document.createElement('div')

制作div标签

然而,我不知道如何给它一个独特的身份。

任何人都可以帮助我。

我知道如何使用innerHTML,但它非常麻烦。 (我听说这不是创建布局的好方法。)

4 个答案:

答案 0 :(得分:9)

unique理解为不能与标记中的任何其他ID混淆的ID,最简单的方法是获取本地时间戳。如图所示here

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等)。

答案 1 :(得分:4)

var d = document.createElement('div');
d.id = 'myElementId';
d.innerHTML = 'This is the content!';

或者

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

..真的,只是一种不同的方式来解决它。

这需要分配id。现在,为了独特。最好的方法是使用当前时间,因为javascript时间在几毫秒内不可能重复。

把它放在一起:

var d = document.createElement('div')
   .id = 'id'+new Date().getTime().toString();

这确实有机会在适当的情况下复制自己。如果保持唯一性是至关重要的,那么唯一的方法是使用指针:

// 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 :(得分:2)

你可以使用一个库: https://github.com/LiosK/UUID.js

它“生成符合RFC 4122的UUID。”

拥有元素,您可以使用代码为其指定id:

element.id = "somePrefix" + UUID.generate()

答案 3 :(得分:-1)

var myDiv = document.createElement('div');
myDiv.id = "myUniqueId";