如何使用javascript给一个div标签一个唯一的id



我可以使用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。现在,对于unique。最好的方法是使用当前时间,因为它不太可能重复,因为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";

相关内容

最新更新