2014-03-04 84 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

非常感謝幫助,它的工作原理! –