0

ページにこれらの 6 つの静的 div があり、変数を更新して新しい div をページに追加するボタンを作成したいと考えています。これは私がこれまでに持っているものです:

function addSlot(){
   maxChecks = maxChecks+1;
   $("#list").append("<div id ='member7' class='member'></div>");
}

したがって、これにより div が追加されますが、問題は、新しい div の ID が常に「member7」になることです。次にボタンがクリックされたときに、次の新しい div が member8、次に member9 になるようにするにはどうすればよいですか?

4

5 に答える 5

3

これを使って :

function addSlot(){
   maxChecks = maxChecks+1;
   var count = jQuery('.member').length;
   var div_id = count + 1;
   $("#list").append("<div id ='member" + div_id + "' class='member'></div>");
}

クラス「メンバー」を持つ div の総数を取得し、DIV id で +1 を実行します。

于 2012-06-20T17:36:41.900 に答える
2

それは簡単です:

function addSlot( i ){
  maxChecks = maxChecks+1;
  $("#list").append("<div id ='member" + i + "' class='member'></div>");
}
于 2012-06-20T17:35:29.980 に答える
2

これは実際には jQuery の問題ではありません。addSlotメソッドの外側にカウンターが必要なだけです。

var counter = 1;
function addSlot(){
   maxChecks = maxChecks+1;
   $("#list").append("<div id ='member" + (counter++) + "' class='member'></div>");
}

明らかに、それが唯一の方法ではありません。たとえば、ID を常にメンバー div の数と一致させたい場合は、Nishu's answerを参照してください。

于 2012-06-20T17:35:53.817 に答える
1

これにより、カウントをグローバル変数に割り当てる代わりに、呼び出しコンテキストに関係なく、関数自体内にカウントがキャッシュされます。

function addSlot(){
   var count = (addSlot.count || 0) + 1;
   $("#list").append("<div id='member" + count + "' class='member'></div>");
   addSlot.count = count;
}
于 2012-06-20T17:37:35.487 に答える
1

また

function addSlot(){
   maxChecks = maxChecks+1;
   $("#list").append("<div id ='member" + ( $('.member').length + 1) + "' class='member'></div>");
}
于 2012-06-20T17:37:37.237 に答える