Jquery 统计多个附加了子div的父div
我根据类将“#originalsection”div容器中的许多子div附加到多个新的“.newsection”div容器中。我在尝试为每个部分编写4个div的计数机制时遇到问题 我遇到问题的具体代码是Jquery 统计多个附加了子div的父div,jquery,count,append,counter,Jquery,Count,Append,Counter,我根据类将“#originalsection”div容器中的许多子div附加到多个新的“.newsection”div容器中。我在尝试为每个部分编写4个div的计数机制时遇到问题 我遇到问题的具体代码是 div_count+=1; 我想要实现的是: A. D G J K B E H 我 L C F 我目前的代码是: $(文档).ready(函数(){ var div_计数=0; var区段计数=0; var$all=$(“#all”); $('div#originalsection di
div_count+=1;
我想要实现的是:
A.
D
G
J
K
B
E
H
我
L
C
F
我目前的代码是:
$(文档).ready(函数(){
var div_计数=0;
var区段计数=0;
var$all=$(“#all”);
$('div#originalsection div')。每个(函数(){
var$div=$(本);
var sectionclass=$div.attr('class').split('')[0];
if($(“#节-”+节计数)。长度==0){
$('.newsection')。追加
('');
}
变量$classCount=$(“#”+sectionclass+“#section-”+section_count);
$classCount.append($div);
//***正在尝试修复以下代码***
div_计数+=1;
如果(div_count>3){
div_计数=0;
截面计数+=1;
}
});
});
A.
B
C
D
E
F
G
H
我
J
K
L
#红色{颜色:红色;}
#绿色{颜色:绿色;}
#蓝色{颜色:蓝色;}
.child{边框:1px纯绿色;宽度:50px;边距:5px;}
就像我上面提到的,我试图更改的代码是
div_count+=1;
因为(我认为)它是每次在“.newsection”div中添加一个div时进行计数,而不是在单个“.newsection”div中计算div的数量
我认为解决方案是写一些与以下内容等价的东西:
如果(“#”sectionclass+“#section-“+section_count”)追加了一个div,则div_count+=1
我确信这涉及到长度码。我试过:
var$classCount.find('div')=$('#'+sectionclass+“#section-”+section_count);
如果($classCount.length+=1){
div_计数+=1;
}
我还是一个代码初学者。我非常感谢任何解释。非常感谢!:) 首先,您不应该像这样使用id=“section-0”。Id应该是唯一的。你可以把它放到一个类中。您可以为对象中的每种颜色存储计数器,并在每次附加子div时递增计数器
jQuery(document).ready(function () {
var counter = {};
var i = 0;
$('#originalsection div').each(function () {
var sectionclass = $(this).attr('class').split(' ')[0];
console.log(sectionclass);
if (typeof (counter[sectionclass]) == 'undefined') {
counter[sectionclass] = {};
counter[sectionclass]['color'] = 0;
counter[sectionclass]['suffix'] = 0;
} else {
counter[sectionclass]['color']++;
}
if (counter[sectionclass]['color'] % 4 == 0) {
if (counter[sectionclass]['color'] != 0) {
counter[sectionclass]['suffix']++;
}
$('#' + sectionclass).append('<div class="child section-' + counter[sectionclass]['suffix'] + '"></div>');
}
$('#' + sectionclass + ' .section-' + counter[sectionclass]['suffix']).append($(this));
});
});
jQuery(文档).ready(函数(){
var计数器={};
var i=0;
$('#originalsection div')。每个(函数(){
var sectionclass=$(this.attr('class').split('')[0];
控制台日志(sectionclass);
if(typeof(计数器[sectionclass])==“未定义”){
计数器[sectionclass]={};
计数器[sectionclass]['color']=0;
计数器[sectionclass]['suffix']=0;
}否则{
计数器[sectionclass]['color']++;
}
如果(计数器[sectionclass]['color']%4==0){
如果(计数器[sectionclass]['color']!=0){
计数器[sectionclass]['后缀']++;
}
$('#'+sectionclass).append('');
}
$('#'+sectionclass+'.section-'+计数器[sectionclass]['suffix'])。追加($(this));
});
});