我的页面中有六个静态div,我想创建一个更新变量的按钮,并为页面添加一个新的div。这就是我到目前为止所做的:
function addSlot(){
maxChecks = maxChecks+1;
$("#list").append("<div id ='member7' class='member'></div>");
}
所以这会增加一个div,但问题是新的div总是会有一个'member7'的id。如何在下次单击按钮时,下一个新div是member8,然后是member9等?
答案 0 :(得分: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。
答案 1 :(得分:2)
很简单:
function addSlot( i ){
maxChecks = maxChecks+1;
$("#list").append("<div id ='member" + i + "' class='member'></div>");
}
答案 2 :(得分: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。
答案 3 :(得分:1)
这将在函数本身内缓存计数,无论调用上下文如何,而不是将计数分配给全局变量。
function addSlot(){
var count = (addSlot.count || 0) + 1;
$("#list").append("<div id='member" + count + "' class='member'></div>");
addSlot.count = count;
}
答案 4 :(得分:1)
或
function addSlot(){
maxChecks = maxChecks+1;
$("#list").append("<div id ='member" + ( $('.member').length + 1) + "' class='member'></div>");
}