如果<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>发布于 2011-05-14 03:00:30
.length是一个属性,而不是函数。
但是你不应该在这样的循环中运行选择器。只需计算您需要的数量,然后一次将其全部添加。
var mosaico = $(".mosaico"),
len = 20 - mosaico.children('li').length,
str = '';
while( len-- > 0 ) {
str += '<li>test</li>';
}
mosaico.append(str);http://jsfiddle.net/pQXNT/2
发布于 2011-05-14 03:00:02
长度不是函数,请保留()
while ($(".mosaico > li").length <= 20) {
$('.mosaico').append('<li>test</li>');
};或者在一个线条中完成:
$(".mosaico")
.append(
$(new Array( 20 - $(".mosaico li").length + 1 )
.join('<li>test</li>'))
); 发布于 2011-05-14 03:01:01
使用.length而不是.length()。也可以使用一些工具来调试JavaScript,比如Firebug for Firefox。
https://stackoverflow.com/questions/5996508
复制相似问题