2013-07-23 3 views
1

У меня есть код JQuery:Преобразование JQuery код в Mootools

$('#users').append(users.join('')).filter(function(i) { 
    return ids.indexOf(this.id) === -1; 
}).remove(); 

Как я могу переписать этот код с помощью Mootools JavaScript библиотеки? Спасибо.

Полный код ниже:

... 
    success: function(r) { 

     var users = [], 
      ids  = []; 

     for(var i=0; i< r.users.length;i++){ 
      if(r.users[i]){   
       users.push(_chat.render('user', r.users[i])); 
       ids.push('user-' + r.users[i].name);   
      } 
     } 


     $('#users').removeClass('sending2').append(users.join('')).children().filter(function(i) { 
      return ids.indexOf(this.id) === -1; 
     }).remove(); 
    }... 
+0

Что находится в массиве пользователей и идентификаторы? –

+0

Здравствуйте, Димитар! Спасибо за большие расширения Mootools. Пожалуйста, проверьте мой полный блок кода (функция запроса успеха). – user889349

ответ

2

Не уверен, что пользователи будут содержать - если элементы с идентификатором, как user-name

var users = ["<div id='user-john'>john</div>", "<div id='user-bob'>bob</div>"], 
    ids = ['user-john']; 


$("users").adopt(new Element('div', {html: users.join('')}).getChildren().filter(function(user){ 
    return ids.indexOf(user.get('id')) !== -1; // unless it's another this.id... 
})); 

Не уверен, что это то же самое, но вы должны получить работу. он вводит только отфильтрованные. если вы хотите обратное, отмените фильтр на === -1; - он использует фиктивный элемент div для размещения динамических из массива и фильтрации их вне dom, а не внутри, что будет медленнее.

+0

Рабочее решение: document.id («users»). Set ('html', users.join ('')); – user889349

+0

Но я хотел бы добавить нового пользователя в список пользователей, и следующим шагом будет удаление существующих пользователей (r.users) из списка пользователей ... с использованием периодического запроса на сервер. – user889349

Смежные вопросы