如何将图像放入数组中

时间:2014-07-26 02:45:18

标签: javascript jquery html arrays

我正在尝试制作幻灯片。我有一个div内的图像(目前是用于测试的p标签),我想用jquery检索它们并创建一个数组。 我想首先说我是jQuery的新手,我正在学习。

我无法检索图像(目前用于测试的p标签)。当我记录运行代码时,我意识到数组只存储在我的数组的第一个索引中。 到目前为止,这是我将代码放入数组的代码: 我的目标是尝试将每个图像放在自己的索引中,这样我就可以更轻松地访问它并在我的网页上循环它。

var img =  $('#gallery').children().each(function(){
      return this.html;
    }).get();
    var slideshow = new Array();
    slideshow.push(img);
    console.log(slideshow[0]);
    console.log(slideshow[0].length);

这是我的HTML:

        <div id="gallery">
         <p>fsdf</p>
         <p>fsdf</p>
          <p>fsdf</p>
       </div>

谢谢

5 个答案:

答案 0 :(得分:1)

要使用jQuery获取#gallery子元素的数组,您可以这样做:

var slideshow = $('#gallery').children().get();

$('#gallery').children()创建了#gallery所有子节点的jQuery集合。然后,在它上面调用.get(),从jQuery集合中获取一个DOM数组,这就是你想要的。


或者,如果您的HTML在真实页面中看起来真的如此:

   <div id="gallery">
     <img src="xyz.jpg">
     <img src="abc.jpg">
     <img src="def.jpg">
   </div>

你只想要图像对象数组,你可以这样做:

var slideshow = $("#gallery img").get();

答案 1 :(得分:0)

要获取图像对象的图像,可以在jquery中使用get();函数。

var slideshow = $("#the_id").get();

请参阅文档here

答案 2 :(得分:0)

答案 3 :(得分:-1)

Jquery children()用于查找Selector的innerElements。 .each()用于迭代所有Element。 index参数与for循环中的i相同。它给出了哪个元素。

Fiddle

 var slideshow = new Array();
 var img =  $('#gallery').children().each(function(index,img){
   slideshow.push(img);
});

答案 4 :(得分:-1)

var children = [].slice.call($('#gallery').children());

children将是所需的数组。

$('#gallery')会将divid作为gallery返回。 $('#gallery').children()collection children element id gallery [].slice.call()返回collection

array会将{{1}}转换为{{1}}。