将对象插入到数组Javascript/JQuery的特定位置

将对象插入到数组Javascript/JQuery的特定位置,javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,如何将对象添加到数组的特定位置 我得到了如下定义的数组: var liList = $(".paging li"); 这是有效的,并且包含以下两项 <li>Previous</li> <li>Next</li> 上一个 下一个 我想用JQuery或JavaScript填充它,如下所示: <li>Previous</a></li> <li>1</li> <li>2</

如何将对象添加到数组的特定位置

我得到了如下定义的数组:

var liList = $(".paging li");
这是有效的,并且包含以下两项

<li>Previous</li>
<li>Next</li>
  • 上一个
  • 下一个
  • 我想用JQuery或JavaScript填充它,如下所示:

    <li>Previous</a></li>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>Next</li>
    
    for (var i = 1; i < ceil; i++){
     var liItem = $('<li/>')
      .text(i)  
      .appendTo(liList);
    }
    
    <ul class="paginering">
     <li>Previous</li>
     <li>Next</li>
     <li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li>
    </ul>
    
  • 上一个
  • 一,
  • 二,
  • 三,
  • 下一个
  • 我目前正在使用以下工具:

    <li>Previous</a></li>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>Next</li>
    
    for (var i = 1; i < ceil; i++){
     var liItem = $('<li/>')
      .text(i)  
      .appendTo(liList);
    }
    
    <ul class="paginering">
     <li>Previous</li>
     <li>Next</li>
     <li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li>
    </ul>
    
    for(变量i=1;i”)
    .案文(i)
    .附录(liList);
    }
    
    这不起作用,并返回以下HTML:

    <ul class="paging">
     <li>
      <li>1</li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
      <li>5</li>
      <li>6</li>
      <li>7</li>
      <li>8</li>
      <li>9</li>
     </li>
     <li>
      <li>1</li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
      <li>5</li>
      <li>6</li>
      <li>7</li>
      <li>8</li>
      <li>9</li>
     </li>
    </ul>
    
    • 一,
    • 二,
    • 三,
    • 四,
    • 五,
    • 六,
    • 七,
    • 八,
    • 九,
    • 一,
    • 二,
    • 三,
    • 四,
    • 五,
    • 六,
    • 七,
    • 八,
    • 九,
    我该怎么做

    编辑:我也尝试过类似的方法,但也不起作用

    for (var I = 0; i < ceil; i++){
     var liding = "<li>" + i + "</li>"
     liList.splice(i, 0, liding);
    }
    
    for(变量I=0;I”+i+”“
    liList.拼接(i,0,liding);
    }
    
    另一个编辑:使用以下内容:

    for (var i = 1; i < ceil; i++){
     var liItem = $('<li/>')
      .text(i)  
      .appendTo(".paging"); // or .paging
    }
    
    for(变量i=1;i”)
    .案文(i)
    .appendTo(“.paging”);//或.paging
    }
    
    返回以下内容:

    <li>Previous</a></li>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>Next</li>
    
    for (var i = 1; i < ceil; i++){
     var liItem = $('<li/>')
      .text(i)  
      .appendTo(liList);
    }
    
    <ul class="paginering">
     <li>Previous</li>
     <li>Next</li>
     <li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li>
    </ul>
    
    • 先前的
    • 下一个
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    您已将该项附加到列表中的每个
    li

    正确的方法是将
    附加到
    根目录
    ,即
    。分页

    for (var i = 1; i < ceil; i++){
     var liItem = $('<li/>')
      .text(i)  
      .appendTo(".paginering"); // or .paging
    }
    
    for(变量i=1;i”)
    .案文(i)
    .appendTo(“.paginering”);//或.paging
    }
    
    编辑

    试一试

    jQuery(函数($){
    var nextLi=$(“.paging.next”);
    
    对于(var i=1;i您使用的方法是正确的,但是需要对逻辑进行一些调整。作为一般规则,在迭代列表时不要更改列表

    下面的代码在找到第一个li后插入多个项目。当然,您可以使用更好的选择器来获得更健壮的代码

    var-ceil=5;
    利利斯特变量=$(“li”);
    对于(var i=ceil;i>0;i--){
    var liItem=“
  • ”; liList.eq(0).在(liItem)之后; }
    
    
  • 先前的
  • 下一个

  • 如果您只是想使用存储在数组中的某些数据进行分页,那么可以从任何地方提取内容。一把小提琴…希望它能有所帮助

    $(function(){
    
    var elementToAppend = "appended.html";
    var pages =  ['first.html', 'second.html', 'third.html', 'fourth.html'];
    
    //Add an element at certain index 
    pages.splice(2, 0, elementToAppend);
    
    var last = pages.length - 1;
    $.each(pages, function(i, v){
    
        i= (i==0)? 'previous' : i;
        i= (i==last)? 'next' : i;
        $('.paginering').append("<li><a href='"+v+"'>"+i+"</a></li>");
    });
    
    $(函数(){
    var elementToAppend=“added.html”;
    var pages=['first.html','second.html','third.html','fourth.html'];
    //在某个索引处添加元素
    第页。拼接(2,0,待出现的元件);
    var last=pages.length-1;
    $。每个(页面、功能(i、v){
    i=(i==0)?“先前”:i;
    i=(i==最后一个)?“下一个”:i;
    $('.paginering')。追加(“
  • ”); });

    })

    @一方面我查看了拼接函数,但这似乎不起作用。我将编辑我的帖子,以便您可以查看我尝试的内容。您的代码没有任何内容可添加
    元素。是否要将其添加到数组或页面?@数组和page@Pointy我将编辑并删除
    元素此选项有效ter,但问题是所有内容都放在数组的末尾,我希望它介于上一个
  • 和下一个
  • 之间,如果添加“class”,任务将变得更容易这些元素的属性,以便代码可以轻松找到它们。我尝试了这个,看起来很棒。现在我看到创建的
  • 元素插入到了“下一个”li中。对不起,这里有一些bug。现在效果很好!