我想传递一个变量,' 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');
});
答案 0 :(得分:1)
使用:
var hiddenElements = ul.children('li:gt(' + varNum + ')').hide,
您必须使用字符串连接将变量的值替换为选择器字符串。并且.children()
只接受一个参数,不需要传递this
(您在设置this
时已使用ul
。