Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 统计多个附加了子div的父div_Jquery_Count_Append_Counter - Fatal编程技术网

Jquery 统计多个附加了子div的父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

我根据类将“#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 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));
});
});