javascript - 将 jQuery 代码转换为 Mootools

标签 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();
   }...

最佳答案

不确定用户将包含什么 - 假设元素的 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... 
}));

不确定是否相同,但应该可以帮助您入门。它只注入(inject)过滤后的。如果您想要相反的结果,请将过滤器反转为 === -1; - 它使用虚拟 div 元素来托管数组中的动态元素,并在 dom 外部而不是内部过滤它们,这样会更慢。

关于javascript - 将 jQuery 代码转换为 Mootools,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17803302/

相关文章:

javascript - 多个相同的表单共享相同的类

javascript - 尝试构建 ember js 项目时出错

javascript - 自定义椭圆形 SVG 图像中的填充百分比区域

javascript - 向下拖动鼠标以显示面板? (使用 MooTools)

javascript - jQuery .submit() 不适用于 javascript 生成的 html 表单

javascript - 如何在 JS 中替换子字符串的所有实例但仅替换整个世界?

javascript - 如何延迟发送 ajax 请求?

javascript - 仅在 Jquery promise 完成后才执行语句?

javascript - 不允许我调整 IFrame 窗口的大小

javascript - 从 Javascript 中的 DateTime 对象中仅提取日期?