Javascript 而"&书信电报;李>&引用<;=20加上“空”&书信电报;李>&引用;
如果Javascript 而"&书信电报;李>&引用<;=20加上“空”&书信电报;李>&引用;,javascript,jquery,Javascript,Jquery,如果计数小于或等于20,但代码似乎不起作用,我正在尝试在中添加 我正在使用以下jQuery: while ($(".mosaico > li").length() <= 20) { $('.mosaico').append('<li>test</li>'); }; while($(“.mosaico>li”).length()length不是函数,请保留() while($(“.mosaico>li”).length.length是一个属性,而不是一个
计数小于或等于20,但代码似乎不起作用,我正在尝试在
中添加
我正在使用以下jQuery:
while ($(".mosaico > li").length() <= 20) {
$('.mosaico').append('<li>test</li>');
};
while($(“.mosaico>li”).length()length不是函数,请保留()
while($(“.mosaico>li”).length.length
是一个属性,而不是一个函数
但是你不应该像那样在循环中运行选择器,只需要计算你需要多少,然后一次将它们全部添加
var mosaico = $(".mosaico"),
len = 20 - mosaico.children('li').length,
str = '';
while( len-- > 0 ) {
str += '<li>test</li>';
}
mosaico.append(str);
var mosaico=$(“.mosaico”),
len=20——马赛克儿童(“li”)。长度,
str='';
而(长度-->0){
str+='测试 ';
}
马赛克追加(str);
使用.length
而不是.length()
。还可以使用一些工具来调试JavaScript,例如Firefox的Firebug。为什么不使用for循环呢
for(i=0;i<20;i++)
{
$('.mosaico').append('<li>test</li>');
}
用于(i=0;ii如果它已经包含
s,那么这不就是添加20吗?我的意思是,如果已经有10个元素,那么最终将得到30。pimvb是正确的-问题是当元素小于20时如何添加
元素,而不是在所有情况下。我应该将选择器放在变量中并使用它吗?@Tiago:我更新了cr的答案创建一个附加的标记字符串。如果mosaico
一开始是空的,您可以删除-mosaico.length
部分。我用lenght作为属性尝试了我的代码,结果成功了。但是您的代码没有附加,它添加了20…:s应该是$('.mosaico>li'))
?您可能必须确保mosaico.children('li').length
不大于20
。否则您将有一个无限循环。
$(".mosaico")
.append(
$(new Array( 20 - $(".mosaico li").length + 1 )
.join('<li>test</li>'))
);
var mosaico = $(".mosaico"),
len = 20 - mosaico.children('li').length,
str = '';
while( len-- > 0 ) {
str += '<li>test</li>';
}
mosaico.append(str);
for(i=0;i<20;i++)
{
$('.mosaico').append('<li>test</li>');
}