Jquery 列表项的预筛选+客户端的一些UI操作。可以加快速度吗?

Jquery 列表项的预筛选+客户端的一些UI操作。可以加快速度吗?,jquery,Jquery,有没有办法加快这一进程 this.preFilter = function ($sourceSelector, text) { var regex = new RegExp(text, 'i'); $sourceSelector.each(function() { if ($(this).text().match(regex)) { $(this).show(); } else { $(this).c

有没有办法加快这一进程

this.preFilter = function ($sourceSelector, text) {
    var regex = new RegExp(text, 'i');
    $sourceSelector.each(function() {
        if ($(this).text().match(regex)) {
            $(this).show();
        } else {
            $(this).children().first().attr('disabled', 'disabled');
            $(this).children().last().removeClass('addGroupMemberButtonClicked').addClass('addGroupMemberButton').button('option', 'icons', { primary: 'ui-icon-plusthick' });
            $(this).hide();
        }
    });
};
现在,在5000个元素上大约需要0.5秒。问题是我不想提出额外的AJAX请求——我的富客户机UI中已经有很多AJAX请求了。我不喜欢使用儿童和第一/最后一个选择器-它们不灵活,以防将来布局会发生变化。但是当我使用find时,它花费了7秒,这当然是不可接受的

更新:用jQuery小部件装饰所有这些按钮不是一个好主意,不应用按钮循环会快3倍。此外,标记并不是最优的——即使按钮并没有文本,也会有一些空白范围:但创建布局的不是我,而是设计师。我可以看看由小部件创建的标记中与UI相关的类,然后删除它们。但我想,这不是一种正确的做法:将来这些小部件可能会改变,类名也会不同,等等

HTML


任何人都需要更多的上下文来帮助解决这个问题。@charlietfl相关的标记已经添加。谢谢
<div style="width: auto; min-height: 2px; max-height: none; height: auto;" id="ui-id-28" class="addGroupMember ui-dialog-content ui-widget-content" data-title="Add participant">
  <input value="" name="usersearch" class="userSearchField" placeholder="Search user name" type="search">
  <input value="" name="" class="userSearchButton" type="button">
  <ul class="userList">
    <li>
      <input value="**" name="Id" class="" disabled="disabled" data-is-key="True" type="hidden">Wvgtsnewp zhnu
      <button title="" role="button" class="addGroupMemberButton ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only" type="button">
        <span class="ui-button-icon-primary ui-icon ui-icon-plusthick"></span>
          <span class="ui-button-text">
          <span class=""></span>
          <span class=""></span>
        </span>
      </button>
    </li>
    <li>and so still half of thousand items</li>
  </ul>
</div>