首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >而"<li>“<= 20添加了空的"<li>”

而"<li>“<= 20添加了空的"<li>”
EN

Stack Overflow用户
提问于 2011-05-14 02:58:12
回答 4查看 293关注 0票数 2

如果<li>计数小于或等于20,我会尝试在<ul>中添加<li>,但代码似乎不起作用……

我正在使用以下jQuery:

代码语言:javascript
复制
while ($(".mosaico > li").length() <= 20) {
   $('.mosaico').append('<li>test</li>');
};

似乎什么都没发生...HTML是:

代码语言:javascript
复制
<ul class="mosaico">
    <li>
    </li>

    <li>
    </li>

    <li>
    </li>
</ul>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-14 03:00:30

.length是一个属性,而不是函数。

但是你不应该在这样的循环中运行选择器。只需计算您需要的数量,然后一次将其全部添加。

代码语言:javascript
复制
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

票数 6
EN

Stack Overflow用户

发布于 2011-05-14 03:00:02

长度不是函数,请保留()

代码语言:javascript
复制
while ($(".mosaico > li").length <= 20) {
   $('.mosaico').append('<li>test</li>');
};

或者在一个线条中完成:

代码语言:javascript
复制
 $(".mosaico")
   .append(
       $(new Array( 20 - $(".mosaico li").length + 1 )
         .join('<li>test</li>'))
    ); 
票数 3
EN

Stack Overflow用户

发布于 2011-05-14 03:01:01

使用.length而不是.length()。也可以使用一些工具来调试JavaScript,比如Firebug for Firefox。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5996508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档