4

IDが「orangeButton」のdivがあり、クリックするたびに新しいdivが作成されます。これは正常に機能しますが...新しく作成された各divのIDに増分番号が追加されるようにします。

これを行う方法がわかりません。

これは、これまでにコメントを付けたコードのフィドルです。

http://jsfiddle.net/taoist/yPrab/1/

ありがとうございました

Javascript コード

   var applicationArea = document.getElementById("applicationArea");
    var orangeButton = document.getElementById("orangeButton");


    orangeButton.onclick = function() {
      var newDivThingy = document.createElement("div");
      newDivThingy.id  = 'newDivThingy';  // I want each newly created div to have a      numeric value concatenated to it's ID. IE newDivThingy1 newDivThingy2 newDivThingy3
      applicationArea.appendChild(newDivThingy);


    };​
4

4 に答える 4

8

何か足りないのですが、カウンターを使用してみませんか?

var counter = 0;
button.onclick = function(){
   var newDivThingy = document.createElement("div");
   newDivThingy.id  = 'newDivThingy' + (++counter);
   // continue your stuff here     
}
于 2013-01-01T04:31:41.110 に答える
1

underscorejs のようなライブラリは、これに対して uniqueid 関数を提供します。それ以外の場合は、実装が簡単です。

myNamespace.uniqueId = (function () {
    var counter = 0; // in closure
    return function (prefix) {
        counter++;
        return (prefix || '') + '-' + counter; 
    };
}());

使用法。

newDiv.id = myNamespace.uniqueId('newDiv');
于 2013-01-01T04:51:33.023 に答える
0

単純に整数を使用し、各要素が追加されるたびに増分します。

var applicationArea = document.getElementById("applicationArea"),
    orangeButton = document.getElementById("orangeButton"),
    counter = 1;

orangeButton.onclick = function() {
    var newDivThingy = document.createElement("div");
        newDivThingy.id = "newDivThingy" + counter++;
    applicationArea.appendChild(newDivThingy);
}
于 2013-01-01T04:36:15.267 に答える