2014-03-04 52 views
0

我尝试从功能jQuery的返回值

$.fn.find_place_for_dealer = function() { 
    $(this).each(function (i, el) { 
     var number = $(this).parent('.link-wrapper').prevAll('div.link-wrapper').length; 
     var pos = ((parseInt(number/3) + 1) * 3) - 1; 
     return pos; 
    }); 
return $(this); 
}; 

$('.dealers a').click(function(e){ 
    e.preventDefault();  

    var pos = $(this).find_place_for_dealer(); 

    var el = '<div class="row"><div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"><div class="dealer-full-info"></div></div></div>'; 

    $('div.link-wrapper').eq(pos).after(el);   

}); 

获得的价值,但我什么也没得到。我的代码出了什么问题,我该如何修复它?
http://jsfiddle.net/EUcu4/4/

+2

一个的jsfiddle会更好! –

+0

我更新了问题 –

+0

@Pavlo看起来你没有看到我的html代码 –

回答

1

您可以使用下面的代码片段:

$.fn.find_place_for_dealer = function() { 
    return this.each(function (i, el) { 
     var number = $(this).parent('.link-wrapper').prevAll('div.link-wrapper').length; 
     var pos = ((parseInt(number/3) + 1) * 3) - 1; 
     $(this).data('pos', pos); 
    }); 
}; 

然后拿到元素pos

var pos = $(this).find_place_for_dealer().data('pos'); 
+0

非常感谢帮助,它的工作原理! –