如何将对象添加到数组的特定位置?
我得到了一个这样定义的数组:
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);
}
这不起作用,并返回以下 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 (var i = 1; i < ceil; i++){
var liItem = $('<li/>')
.text(i)
.appendTo(".paging"); // or .paging
}
返回以下内容:
<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 之后插入多个项目来工作。当然,您可以使用更好的选择器来获得更健壮的代码。
var ceil = 5;
var liList = $("li");
for (var i = ceil; i > 0; i--){
var liItem = "<li><a href='javascript:void(0)' onclick='changeDisplay(this)'>" + i + "</a></li>";
liList.eq(0).after(liItem);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<body>
<li><a onclick="changeLi(this)">Previous</a></li>
<li><a onclick="changeLi(this)">Next</a></li>
</body>
关于javascript - 将对象插入到数组 Javascript/JQuery 的特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27567505/