jQuery的。将函数中的变量传递给.each内部

时间:2015-04-24 00:13:25

标签: jquery function variables

我想传递一个变量,' 1'或者' 2'并根据可用的大小运行一个函数。我怎样才能确保var可以通过另一个函数?谢谢!

$(function() {
    function newFunc(varNum){
        $('.listing__item .item__details').each(function() {
            var ul = $('ul.item__authors', this);
            var authors = $('.item__authors-info', this);
            if(ul.children('li.author').size() <= varNum) return;

            var hiddenElements = ul.children('li:gt(varNum)', this).hide(),
                showCaption = '+ ' + hiddenElements.size() + ' others';

            authors.append($('<span class="other-authors">' + showCaption + '</span>'));
        });
    }       
    newFunc('1');
});

1 个答案:

答案 0 :(得分:1)

使用:

var hiddenElements = ul.children('li:gt(' + varNum + ')').hide,

您必须使用字符串连接将变量的值替换为选择器字符串。并且.children()只接受一个参数,不需要传递this(您在设置this时已使用ul