我正在尝试在jQuery中实现幻灯片放映,其中我将所有图像及其描述放在ID为contain
的隐藏元素中
在这里,我想获得所有包含元素(img
span
)对,以便我可以迭代它们。
但问题是:
var slides = $('#contain').children(); //[object Object]
console.log(slides);
//console.log(slides.get(0)); //< this is also not working
这是返回[object Object]
但是我希望元素在DOM元素中,所以我可以选择细节,迭代它们等。
任何请帮助我怎样才能得到它?
Complete code:
function startSlideShow(interval) {
var slides = $('#contain').children();
console.log("0: " + slides);
for (var i = 0; i < slides.length; i++) {
setTimeout(
function () {
var slide = $(slides[i]).children();
$('#currentImage').attr('src', slide[0].src).fadeIn(interval * 100);
$('#slideDesc').html(slide[1].innerHTML).fadeIn(interval * 100);
}, interval * 1000);
}
}
in the html:
<article id="contain">
<div class="image">
<img src="http://i.imgur.com/925p6M5.jpg" />
<span>1Lorem Ipsum is simply dummy text of the printing and typesetting industry. </span>
</div>
<div class="image">
<img src="http://i.imgur.com/dbBu5rk.jpg" />
<span>2 Lorem Ipsum is simply dummy text of the printing and typesetting industry. </span>
</div>
<div class="image">
<img src="http://i.imgur.com/VFxPGEi.gif" />
<span>3 Lorem Ipsum is simply dummy text of the printing and typesetting industry. </span>
</div>
</article>
问题是它给我带来的错误如下:
Uncaught TypeError: Cannot read property 'src' of undefined
答案 0 :(得分:1)
您可以使用$ .each
slides.each(function(){
console.log($(this));
});
答案 1 :(得分:1)
你可以试试这个
var slides = $('#contain').children().get();
console.log(slides); // array of dom elements
console.log(slides[0]); // first dom element
或者
$('#contain').children().each(function(k, v){
console.log(v);
});