繁体   English   中英

带有列表和数组的嵌套循环

[英]Nested loops with list and array

我有一个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>

s

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

在列表上进行多次遍历似乎没有多大意义,只是一遍就可以了(如果我正确理解了您的描述)

$(".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]) }); 
 <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> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM