2013-07-24 5 views
1

У меня есть следующий код:переменного в п-й ребенок() JQuery/JavaScript

$(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 выбрать п-й список, где п должно быть таким же, как и переменный счетчик. я добавил + знаки (хотя я не знаю, почему я должен) и сделал цитаты символы разные, и все же он до сих пор не работает

ответ

5

Вы должны сделать это так:

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

Проблема заключается в том что вы не закрывая струнные/сегменты вокруг переменной, так:

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

Есть только длинная строка, селектор, который не имеет смысла; поэтому он ничего не соответствует, вы должны фактически разделять разделы, заканчивая статические части тем же типом цитаты ...

+0

Я вижу, спасибо! – dhk628

Смежные вопросы