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

发布于 2024-12-04 04:42:53 字数 162 浏览 1 评论 0原文

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

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

谁能帮我解决这个问题。

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

I'm able to make a div tag using the document.createElement('div')

However i do not know how to give it a unique id.

can anyone help me with this.

I know how to do it using innerHTML however it very cumbersome. (I heard it not a good way of creating a layout.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

醉酒的小男人 2024-12-11 04:42:54

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()}`;

虽然使用 < code>createElement 可能有点麻烦,您应该使用一些 JavaScript 框架来为您解决一些小细节(例如 jQuery、Mootools、Dojo 等)。

Understanding unique as an ID that must not get mixed up with any other ID's in the markup, the easiest way to go is to get the local timestamp. As shown 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()}`;

Though working with createElement can be a bit of a troublemaker, you should be using some JavaScript framework that solve the tiny little details for you (such as jQuery, Mootools, Dojo, etc.).

梦里梦着梦中梦 2024-12-11 04:42:54
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 ++;
var d = document.createElement('div');
d.id = 'myElementId';
d.innerHTML = 'This is the content!';

Or

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

.. same thing really, just a different way of laying it out.

This takes care of assigning the id. Now, for unique. The best way is to use the current time, as it isn't likely to repeat since javascript time is on miliseconds.

Putting it together:

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

This does have the chance to duplicate itself in the right circumstances. If it is is hyper-critical to maintain uniqueness, then the only way is to use a pointer:

// 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 ++;
栩栩如生 2024-12-11 04:42:54

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

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

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

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

You can use a library for this:
https://github.com/LiosK/UUID.js

It "Generates RFC 4122 compliant UUIDs."

Having the element you can assign it the id using the code:

element.id = "somePrefix" + UUID.generate()
温折酒 2024-12-11 04:42:54
var myDiv = document.createElement('div');
myDiv.id = "myUniqueId";
var myDiv = document.createElement('div');
myDiv.id = "myUniqueId";
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文