JQuery - 重新排列对象 - 最短代码解决方案

标签 jquery html arrays object

我只是想知道是否有更好的方法来编写以下代码?注意:以下作品 100% 正常。

目前这会创建一个对象数组。好吧,我称它们为对象。我最好说是 DOM References。注意:请纠正我 - 渴望学习。

然后它循环遍历它们,隐藏所有内容并仅显示那些具有与 'sortText< 中的文本/字符串匹配的类 '.contactsBodyMainDisplayMemberUserNameH2' (下面有许多子项)的内容'.

var contactsMemberArray = $('#contactsMainWrapperDIV').children()
                           .map(function() {return $(this);}).get();
$.each(contactsMemberArray, function() {
    $(this).hide();
    var username = $('.contactsBodyMainDisplayMemberUserNameH2', this).text();
    if(username != '' && username.toLowerCase().indexOf(sortText.toLowerCase()) >= 0) {
        $(this).show();
    }
});
  • 有没有更快的方法来做到这一点?
  • 我需要先映射对象还是可以直接对它们进行排序?

JS Fiddle

最佳答案

你可以做这样的事情。

var contactsMemberArray = $('#contactsMainWrapperDIV').children().hide();
$.each(contactsMemberArray, function() {
    var username = $(this).find('.contactsBodyMainDisplayMemberUserNameH2').text();
    if(username !== '' && username.toLowerCase().indexOf(sortText.toLowerCase()) >= 0) {
        $(this).show();
    }
});

关于JQuery - 重新排列对象 - 最短代码解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27702899/

相关文章:

jquery - Css 只显示图像的中心部分

html - 使用 flexbox 拉伸(stretch)内容以扩展到整个视口(viewport)

javascript - For 循环数组以查找该数组中的特定值。相反,我得到了整个数组

javascript - 无法访问 React Component 中的 Javascript 对象

javascript - 对象数组元素在推送时被修改

jquery - 在haml条件下使用jquery元素

jquery - 格式化 jQuery 语句时出现问题

html - jsFiddle 完全准确吗?

php - 使用单个查询更新多行

javascript - 单击我的图标时如何显示和隐藏我的内容