Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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
Javascript 创建多级文档片段_Javascript_Jquery_Html_For Loop_Documentfragment - Fatal编程技术网

Javascript 创建多级文档片段

Javascript 创建多级文档片段,javascript,jquery,html,for-loop,documentfragment,Javascript,Jquery,Html,For Loop,Documentfragment,因此,我试图创建一个多维文档片段,但遇到了一些障碍。我只想附加一个文档片段,以便只创建一个回流。我基本上是在尝试创建x个div,其中包含y个div。我最初的想法是将div添加到新创建的元素中,但它似乎不起作用。我只有两个陈述,第一个是较大的div,将进入父对象,第二个是婴儿div,将进入较大的div,将进入父对象。我想我错了,在创建了一个文档片段以将所有div放入其中之后,我尝试将其插入到一个尚不在DOM中的元素中。不过我不确定。任何反馈都会有帮助。我还没有找到一篇关于创建多级文档片段的文章 f

因此,我试图创建一个多维文档片段,但遇到了一些障碍。我只想附加一个文档片段,以便只创建一个回流。我基本上是在尝试创建x个div,其中包含y个div。我最初的想法是将div添加到新创建的元素中,但它似乎不起作用。我只有两个陈述,第一个是较大的div,将进入父对象,第二个是婴儿div,将进入较大的div,将进入父对象。我想我错了,在创建了一个文档片段以将所有div放入其中之后,我尝试将其插入到一个尚不在DOM中的元素中。不过我不确定。任何反馈都会有帮助。我还没有找到一篇关于创建多级文档片段的文章

function addDivs(element) {
    var newDiv, fragment = document.createDocumentFragment();
    for (var i = 0; i < numberOfPics; i++) {
        newDiv = document.createElement('div');
        var newBabyDiv, newBabyFragment = document.createDocumentFragment();
        for(var i1 = 0; i1 < o.sliceX*o.sliceY; i1++){
            newBabyDiv = document.createElement('div');
            newBabyFragment.appendChild(newBabyDiv);
        }
        newDiv.append(newBabyFragment);
        newDiv.id = (picIdRoot+i);
        newDiv.className = (o.allPictures);
        if (i < numberOfPics - 3){
        }else if(i == numberOfPics - 2){
            newDiv.className = (o.allPictures+" "+o.currentPic);
        }else if(i == numberOfPics - 1){
            newDiv.className = (o.allPictures+" "+o.currentPic+" "+o.picAfterCurrent);
        }else{}
        fragment.appendChild(newDiv);
    }

    //fill the style element with text
    var style = document.createElement("style");
    style.id = "slideShow-styling";
    fragment.appendChild(style);

    //append to slideshow container
    slideShowContainer.append(fragment);
}
函数addDivs(元素){
var newDiv,fragment=document.createDocumentFragment();
对于(变量i=0;i
编辑

for(var i1=0;i1
不幸的是,这个编辑不起作用

我知道我来晚了,而且这个问题本身可能已经解决(或放弃)很久了

编辑部分

for(var i1 = 0; i1 < o.sliceX*o.sliceY; i1++){
    newDiv.append(document.createElement('div'));
}

与所问问题完全无关

当我这样做的时候,您应该意识到
o.sliceX*o.sliceY
部分是为循环的每个迭代计算的,我将此更改为

for(var i1 = 0, len = o.sliceX*o.sliceY; i1 < len; i1++){...}
for(var i1=0,len=o.sliceX*o.sliceY;i1
将子div附加到父div,不需要片段。像这样吗?对于(var i1=0;i1);这正是我在第二个for循环中使用的,它似乎不起作用。
for(var i1 = 0; i1 < o.sliceX*o.sliceY; i1++){
    newDiv.appendChild(document.createElement('div'));
}
for(var i1 = 0, len = o.sliceX*o.sliceY; i1 < len; i1++){...}