无法检索克隆的Div元素

时间:2013-03-14 01:11:10

标签: jquery dom clone

对于一个滑块项目,我想在克隆的div中找到一个子div,但它似乎不起作用:

 <div class="slide">
  <div class='slidecaption'><h2>Slide Number 1</h2></div> 
 <div class='slidetext'><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit,</p></div>
 </div> 

 <div class="slide"> 
  <div class='slidecaption'><h2>Slide Number 2</h2></div> 
 <div class='slidetext'><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit,</p></div>
 </div> 

 <div class="slide"> 
  <div class='slidecaption'><h2>Slide Number 3</h2></div> 
 <div class='slidetext'><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p></div>
 </div>

现在Jquery代码是:

$(document).ready(function() { 
    var slides = $('.slide');   
    var firstclone = slides.eq(0).clone(true);
    var lastclone  = slides.eq(2).clone(true);

    slides.wrapAll('<div id="slideswrapper"></div>');
    firstclone.appendTo ("#slidesWrapper");
    lastclone.prependTo ("#slidesWrapper");
    var slidesNumber = slides.length;
 console.log(slidesNumber); //===> this will give 3 NOT 5
 console.log(slides); //===>this will give an object of only 3 divs
 console.log('#slidesWrapper'.html); //=====> this will give undefined 

});

调试代码不会显示代码中注释的预期结果。 现在,正如我从Jquery文档中所理解的那样,插入dom的任何克隆div都将成为dom的一部分,所以为什么我不能在这里得到它,我的意思是5张幻灯片或所需的html。

我想检索.slideText和.slideCaption内容来操作它们并添加一些效果。

1 个答案:

答案 0 :(得分:2)

您需要重新选择元素。

当您致电var slides = $('.slide');时,确实只有3张幻灯片。

但如果在插入元素后再次运行选择器(console.log($('.slide').length);),则会按预期得到5。

此外,您的代码存在拼写错误,最重要的是:slidesWrapper!= slideswrapper