无法循环遍历 <li> 项 JQUERY

问题描述

我想遍历我的 li 项以找到之前列表中已经存在的相似项并将其替换为新项。我实际上是在用 SignalR 制作一个聊天应用程序,我想在其中显示在线用户,一旦用户登录,就会提供并显示来自 Db 的完整用户列表,之后如果有任何其他用户在线,只会附加他的名字已登录用户列表。我的代码是这样的;

       chatProxy.client.onlineUser = function (type,list,user,connID,uniqueID) {

            listItems = $("#onlineuser").find("li").each(function () {
                var product = $(this).attr('class');
                alert(product);
            });

            if (type == "NewUser") {
                for (var i in list) {

                    $("#onlineuser").append(ulamker(list[i]['UserName'],list[i]['Status'],"Your Last Message"));

                }


                    function ulamker(name,status,lastmessage) {
                        if (status == "ONLINE") {
                            var finalstring = '<li class="online active" user=' + list[i]['UserName'] + ' userId=' + list[i]['Userid'] + ' connectionID=' + list[i]['ConnectionId'] + '><a class="media"><img class="media-object " src="/Content/img/avatar7.jpg" alt=""> <div class="media-body"><span class="name"><span class="message leftmenuname namehighlight">' + name + ' </span></span>  <span class="badge badge-outline status"></span> </div> </a> </li>'

                            return finalstring;
                        }
                        else if (status == "OFFLINE")
                        {
                            var finalstring = '<li class="offline" user=' + list[i]['UserName'] + ' userId=' + list[i]['Userid'] + ' connectionID=' + list[i]['ConnectionId'] + '><a class="media"><img class="media-object" src="/Content/img/avatar7.jpg" alt=""> <div class="media-body"><span class="name"><span class="message leftmenuname namehighlight">' + name + ' </span></span>  <span class="badge badge-outline status"></span> </div> </a> </li>'

                            return finalstring;
                        }
                    };
                   

                }


            else if (type == "OldUser") {


               
                $("#onlineuser").append(ulamker1(user,"Online","Your Last Message"));

                function ulamker1(name,connection,lastmessage) {
                    if (status == "Online") {
                        var finalstring = '<li class="online active" username=' + user + ' userId=' + uniqueID + ' connectionID=' + connID + '><a class="media"><img class="media-object " src="~/Content/img/avatar7.jpg" alt=""> <div class="media-body"><span class="name"><span class="message leftmenuname namehighlight">' + name + ' </span></span> <span class="badge badge-outline status"></span> </div> </a> </li>'

                        return finalstring;
                    }
                };
               

            }
            else
            {

            }

        };

我用它来循环,它只显示列表中最后更新的名称

         listItems = $("#onlineuser").find("li").each(function () {
                var product = $(this).attr('class');
                alert(product);
            });

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)