使用选择器筛选jQuery可排序无序列表

使用选择器筛选jQuery可排序无序列表,jquery,asp.net,jquery-ui-sortable,Jquery,Asp.net,Jquery Ui Sortable,我有一个asp.net页面,其中有两个动态构建的jquery可排序无序列表。我使用它将项目从一个列表拖放到另一个列表。那部分很好用。但是,我现在需要能够过滤列表中的项目。我发现代码使用选择器,但它们似乎都使用包含锚的列表项 ('#titles>ul>li>a') 当我从选择器中删除'>a“时 ”#titles>ul>li',它停止工作 我尝试了几次迭代,但似乎没有任何效果。 非常感谢您的帮助。我使用了: 这段代码实际上允许我在表达式中使用selector:contains 通过帮助器,我可以找到

我有一个asp.net页面,其中有两个动态构建的jquery可排序无序列表。我使用它将项目从一个列表拖放到另一个列表。那部分很好用。但是,我现在需要能够过滤列表中的项目。我发现代码使用选择器,但它们似乎都使用包含锚的列表项

('#titles>ul>li>a')

当我从选择器中删除
'>a“

”#titles>ul>li'
,它停止工作

我尝试了几次迭代,但似乎没有任何效果。 非常感谢您的帮助。

我使用了:

这段代码实际上允许我在表达式中使用selector:contains

通过帮助器,我可以找到包含给定文本的任何元素。当我找到匹配的元素时,我将向上查看DOM树以找到li标记。匹配的li标记是我想要隐藏(或显示)的内容


你能展示与所有这些相关的其他代码吗?如果它与
>a
一起工作,那么为什么要删除它?我认为你的列表项实际上没有锚?我支持更多代码的动议,没有人能够调试选择器,而不看到它应该工作的标记。
jQuery.expr[':'].contains = function(a,i,m){
    return (a.textContent || a.innerText || "").toUpperCase().indexOf(m[3].toUpperCase())>=0;
};
filter = "textToSearch";
$matches = $("ul").find(':contains(' + filter + ')').closest('li');
$('li', list).not($matches).hide();
$matches.show();