Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 而"&书信电报;李>&引用<;=20加上“空”&书信电报;李>&引用;_Javascript_Jquery - Fatal编程技术网

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>'); 
      
      }