Javascript 不会在jQuery中迭代数组
因此,我可以将所有需要的图像放入一个数组中,并将它们传递给$image。但是,当我尝试循环该数组时,它只会不断地向同一个项目发出3次警报 我遇到麻烦的代码Javascript 不会在jQuery中迭代数组,javascript,jquery,iterator,Javascript,Jquery,Iterator,因此,我可以将所有需要的图像放入一个数组中,并将它们传递给$image。但是,当我尝试循环该数组时,它只会不断地向同一个项目发出3次警报 我遇到麻烦的代码 getItem : function($image){ console.log($image) console.log(jQuery.type($image)) var setup ='<img src="' + $($image).attr('href') + '" title="' + $($im
getItem : function($image){
console.log($image)
console.log(jQuery.type($image))
var setup ='<img src="' + $($image).attr('href') + '" title="' + $($image).attr('title') + '"/>';
$.each($image, function(i){
alert( setup);
});
}
HTML
<a href="images/slideshow/1-GW.PhillipBarnhart.ReverendMemory.jpg" title="Phillip Barnhart as:
Reverend Memory - a clergyman who stands for decorum and truth." rel="slideshow"><img src="images/view-slideshow.jpg" width="490" height="352" alt="View Slideshow"></a>
<a rel="slideshow" href="images/slideshow/2-GW.BethBrooks.POLLYTODD.jpg">fff</a>
<a rel="slideshow" href="images/slideshow/3-GW.NickHale.NOSTALGIA.jpg">test</a>
整个脚本或者如果您喜欢JSFIDLE,这里是一个链接
我假设$image是一个数组,因为您正在遍历它。如果是这样的话,你想要类似的东西
$.each($image, function(i){
var setup ='<img src="' + i.attr('href') + '" title="' + i.attr('title') + '"/>';
alert( setup);
});
我假设$image是一个数组,因为您正在遍历它。如果是这样的话,你想要类似的东西
$.each($image, function(i){
var setup ='<img src="' + i.attr('href') + '" title="' + i.attr('title') + '"/>';
alert( setup);
});
您使用的$。每个循环都是错误的 第一个问题是,如果$image是列表,那么$image.attrx将获取列表中第一个元素的attr。您需要的是$$image[i]或使用.get 第二个问题是在循环之外声明var设置。这意味着它声明和使用了一次,而不是3次,因为你有3个项目
$.each($image, function(i){
var setup ='<img src="' + $(this).attr('href') + '" title="' +
$(this).attr('title') + '"/>';
alert( setup);
});
使用$时,函数中的每个此对象将依次引用数组中的每个对象。在本例中,这是一个DOM对象,因此您希望使用$this来获取jQuery图像对象
在这里查看一个工作示例您使用$。每个循环都是错误的 第一个问题是,如果$image是列表,那么$image.attrx将获取列表中第一个元素的attr。您需要的是$$image[i]或使用.get 第二个问题是在循环之外声明var设置。这意味着它声明和使用了一次,而不是3次,因为你有3个项目
$.each($image, function(i){
var setup ='<img src="' + $(this).attr('href') + '" title="' +
$(this).attr('title') + '"/>';
alert( setup);
});
使用$时,函数中的每个此对象将依次引用数组中的每个对象。在本例中,这是一个DOM对象,因此您希望使用$this来获取jQuery图像对象
查看这里的工作示例查看我的解决方案
允许无休止的幻灯片循环,在我看来,你已经把它复杂化了一点,并且像@Dutchie432所指出的那样,在概念上犯了一些错误
希望这也会有所帮助,
Tom查看我的解决方案
允许无休止的幻灯片循环,在我看来,你已经把它复杂化了一点,并且像@Dutchie432所指出的那样,在概念上犯了一些错误
希望这也会有所帮助,
汤姆你可以用它完成你似乎想要的事情
你可以完成你似乎想要使用的东西 我认为您的var设置需要在$.each循环内声明。我认为您的var设置需要在$.each循环内声明。
getItem : function($image){
$image.map( function(i,val){
return $('<img>', { src:this.href, title:this.title })[0];
}).appendTo(slideShow.config.wrapper);
},