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 に答える