我有一个html ul li,我需要从中获取内容并使用位于数组中的其他内容进行更新。到目前为止,我创建了嵌套循环,但我总是卡在同一点:每个li被迭代4次(我的数组长4)努力显示我的数组的最后一个元素 我的代码比我更清楚:
HTML
<div class="menu-sidebar">
<ul>
<li><a>Batman</a></li>
<li><a>Billo</a></li>
<li><a>Breaking-</a></li>
<li><a>Buttons</a></li>
</ul>
</div>
的js
var currentNames = [];
var newListName = [
"Hello",
"Billo M",
"Breaking Hard",
"Button"
];
$(".menu-sidebar li a").each(function(index) {
var listName = $(this).text().replace(/\s/g,'');
currentNames.push(listName);
//console.log(currentNames); //["Batman", "Billo", "Breaking-", "Buttons", .. ]
//console.log(newListName); //["hello", "Billo M", "Breaking Hard", "Button"]
});
for (var j = 0; j < currentNames.length; j++) {
var currentName = currentNames[j]
for (var i = 0; i < 1; i++) {
console.log(currentNames[j]);
console.log(newListName[j]);
$(".menu-sidebar li a").each(function(index) {
$(this).text(newListName[j]);
});
}
}
答案 0 :(得分:0)
在列表上进行多次传递似乎没什么意义,只有一个会做(如果我理解你的描述正确的话)
$(".menu-sidebar li a").each(function(index) {
$(this).text(newListName[index])
});
这是一个演示:
var newListName = [
"Hello",
"Billo M",
"Breaking Hard",
"Button"
];
$(".menu-sidebar li a").each(function(index) {
$(this).text(newListName[index])
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="menu-sidebar">
<ul>
<li><a>Batman</a></li>
<li><a>Billo</a></li>
<li><a>Breaking-</a></li>
<li><a>Buttons</a></li>
</ul>
</div>
&#13;