Javascript 使用jqueryappend

Javascript 使用jqueryappend,javascript,jquery,html,Javascript,Jquery,Html,我在使用jQuery的.append()方法时遇到问题。这是我的密码: $('#all ul li').each(function() { if ($(this).children('.material-icons').hasClass('offline-icon') == false) { $('#online ul').append(this); } }); $(文档).ready(函数(){ //声明所有变量 var users=[“freecodecamp”、

我在使用jQuery的
.append()
方法时遇到问题。这是我的密码:

$('#all ul li').each(function() {
   if ($(this).children('.material-icons').hasClass('offline-icon') == false) {
      $('#online ul').append(this);
   }
});
$(文档).ready(函数(){
//声明所有变量
var users=[“freecodecamp”、“trymacs”、“phonecats”];
var info={};
var i;
var标识符;
对于(i=0;i

我发现了一个问题:

将代码放在get json函数中,例如,在adding of class下面

当您检查了类(docready/ajax调用未完成)时,它们不在那里,所以现在应该进行修复

     if (info.phonecats.length < 400) {
        $('#phonecats .material-icons')
          .addClass('offline-icon')
          .html('portable_wifi_off');
      }
       $('#all ul li').each(function() {
    if ($(this).children('.material-icons').hasClass('offline-icon') == false) {
      $('#online ul').append($(this).clone());
    }
  });
if(info.phonecats.length<400){
$(“#phonecats.material icons”)
.addClass('offline-icon')
.html(“便携式无线网络关闭”);
}
$('#all ul li')。每个(函数(){
if($(this).children('.material icons').hasClass('offline-icon')==false){
$('#online ul').append($(this.clone());
}
});
编辑
因此,基本上,由于DOM是更新的,在ajax请求之后,等待成功,而是将您的代码片段添加到,例如done()或always()回调:

您的完整代码效率极低。尽管您显示的代码片段是正确的,但是您使用一个带有for循环的async
$.getJSON
调用,然后在回调中手动检查每个拖缆,这将变得很乏味。在请求完成之前,没有任何列表项具有脱机图标-该图标仅在请求给您响应后添加,但此时您的检查已经运行。有关固定、更高效的解决方案,请参见下文:

$(文档).ready(函数(){
//声明所有变量
var users=[“freecodecamp”、“trymacs”、“phonecats”];
var info={};
var i;
var标识符;
var=0;
var lastCheck=函数(){
//将内容筛选到在线/离线部分
$('#all ul li')。每个(函数(){
var isOffline=$(this).find('.offline图标').length;
$('#'+(isOffline?'offline':'online')+'ul').append($(this.clone());
});
};
对于(i=0;i     if (info.phonecats.length < 400) {
        $('#phonecats .material-icons')
          .addClass('offline-icon')
          .html('portable_wifi_off');
      }
       $('#all ul li').each(function() {
    if ($(this).children('.material-icons').hasClass('offline-icon') == false) {
      $('#online ul').append($(this).clone());
    }
  });