我有以下代码:
$(document).ready(function(){
var max_count = $(".slider").children().length;
function fn_get_natural_dim(slide_image,img){
var width = img.width;
var height = img.height;
var ratiow = width/600;
var ratioh = height/400;
if(ratiow>=ratioh)
{
height = height/ratiow;
$(slide_image).css("width","600px");
$(slide_image).css("height",height);
var margin = (400-height)/2;
$(slide_image).css("margin-top",margin);
}
else
{
width = width/ratioh;
$(slide_image).css("width",width);
$(slide_image).css("height","400px");
var margin = (600-width)/2;
$(slide_image).css("margin-left",margin);
}
}
for(var count=1;count<=max_count;count++)
{
var count_string = count.toString();
var img_name = "img" + count_string;
var slide_image = $('.slider > li:nth-child(" + count + ")');
var img = new Image();
img.onload = (function(slide_image,img){
return function() {fn_get_natural_dim(slide_image,img);};
})(slide_image,img);
img.src = $(slide_image).attr("src");
}
});
我希望变量slide_image选择第n个列表,其中n应该与变量count相同。 我添加+符号(虽然我不知道为什么我必须)并使引号符号不同,但它仍然无法正常工作
答案 0 :(得分:5)
你应该这样做:
$('.slider > li:nth-child(' + count + ')');
问题是你没有关闭变量周围的字符串/段,所以:
'.slider > li:nth-child(" + count + ")'
只是一个长串,一个没有意义的选择器;这就是为什么它什么都不匹配,你必须通过用相同类型的引用来结束静态部分来实际分离这些部分......