1

我可以使用 document.createElement('div') 创建一个 div 标签

但是我不知道如何给它一个唯一的ID。

谁能帮我这个。

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

4

4 回答 4

9

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

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

于 2011-09-13T19:05:25.687 回答
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 ++;
于 2011-09-13T19:06:09.043 回答
2

您可以为此使用库: https ://github.com/LiosK/UUID.js

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

拥有该元素,您可以使用以下代码为其分配 id:

element.id = "somePrefix" + UUID.generate()
于 2011-09-13T19:08:11.333 回答
-1
var myDiv = document.createElement('div');
myDiv.id = "myUniqueId";
于 2011-09-13T19:05:33.613 回答