我可以使用 document.createElement('div') 创建一个 div 标签
但是我不知道如何给它一个唯一的ID。
谁能帮我这个。
我知道如何使用innerHTML 来做到这一点,但是它非常麻烦。(我听说这不是创建布局的好方法。)
我可以使用 document.createElement('div') 创建一个 div 标签
但是我不知道如何给它一个唯一的ID。
谁能帮我这个。
我知道如何使用innerHTML 来做到这一点,但是它非常麻烦。(我听说这不是创建布局的好方法。)
理解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 等)。
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 ++;
您可以为此使用库: https ://github.com/LiosK/UUID.js
它“生成符合 RFC 4122 的 UUID”。
拥有该元素,您可以使用以下代码为其分配 id:
element.id = "somePrefix" + UUID.generate()
var myDiv = document.createElement('div');
myDiv.id = "myUniqueId";