我正在尝试制作幻灯片。我有一个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>
谢谢
答案 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)
答案 2 :(得分:0)
尝试
var arr = $.makeArray($("#gallery *"));
jsfiddle http://jsfiddle.net/guest271314/jhph8/
见
答案 3 :(得分:-1)
Jquery children()
用于查找Selector的innerElements。 .each()
用于迭代所有Element。 index
参数与for循环中的i相同。它给出了哪个元素。
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')
会将div
与id
作为gallery
返回。
$('#gallery').children()
将collection
children
element
id
gallery
[].slice.call()
返回collection
array
会将{{1}}转换为{{1}}。