nth-child() jquery / javascript中的变量

Posted

技术标签:

【中文标题】nth-child() jquery / javascript中的变量【英文标题】:variable in nth-child() jquery / javascript 【发布时间】:2013-07-24 06:38:43 【问题描述】:

我有以下代码:

$(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 相同。 我添加了 + 符号(虽然我不知道为什么我必须这样做)并使引号符号不同,但它仍然不起作用

【问题讨论】:

【参考方案1】:

你应该这样做:

$('.slider > li:nth-child(' + count + ')');

问题是你没有关闭变量周围的字符串/段,所以:

'.slider > li:nth-child(" + count + ")' 

只是一个长字符串,一个没有意义的选择器;这就是为什么它不匹配的原因,您必须通过以相同类型的引号结束静态部分来实际分隔各个部分...

【讨论】:

以上是关于nth-child() jquery / javascript中的变量的主要内容,如果未能解决你的问题,请参考以下文章

jQuery nth-child 删除

jQuery nth-child 选择器问题

利用jquery怎么遍历table中的一列

nth-child() jquery / javascript中的变量

使用jquery的元素nth-child中的变量

jQuery 选择器输入 [type=text]:nth-child(2) 不工作