将jQuery代码转换为Mootools

时间:2013-07-23 06:53:33

标签: javascript jquery html filter mootools

我有一个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();
   }...

1 个答案:

答案 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之外,而不是内部,这将会更慢。