我有一个jQuery代码:
$('#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 :(得分:2)
不确定用户将包含哪些内容 - 假设ID为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之外,而不是内部,这将会更慢。