如果<li>
计数小于或等于20,我试图在<ul>
内添加<li>
,但代码似乎不起作用......
我正在使用以下jQuery:
while ($(".mosaico > li").length() <= 20) {
$('.mosaico').append('<li>test</li>');
};
似乎没有任何事情发生...... HTML是:
<ul class="mosaico">
<li>
</li>
<li>
</li>
<li>
</li>
</ul>
答案 0 :(得分:6)
.length
是属性,而不是函数。
但是你不应该像这样循环运行选择器。只需计算您需要的数量,并立即将它们全部添加。
var mosaico = $(".mosaico"),
len = 20 - mosaico.children('li').length,
str = '';
while( len-- > 0 ) {
str += '<li>test</li>';
}
mosaico.append(str);
答案 1 :(得分:3)
长度不是函数,请离开()
while ($(".mosaico > li").length <= 20) {
$('.mosaico').append('<li>test</li>');
};
或在oneliner中执行:
$(".mosaico")
.append(
$(new Array( 20 - $(".mosaico li").length + 1 )
.join('<li>test</li>'))
);
答案 2 :(得分:2)
使用.length
代替.length()
。还可以使用一些工具来调试JavaScript,例如Firebug for Firefox。
答案 3 :(得分:1)
为什么不使用for循环
for(i=0;i<20;i++)
{
$('.mosaico').append('<li>test</li>');
}