$('#div_search').keypress(function() {
var search_term = $(this).val();
$('.ticker_list').children('div').each(function() {
var search_value = $(this).attr('search_term');
if (search_value.indexOf(search_term) >= 0) {
$(this).show();
}
else {
$(this).hide();
}
});
});?
Run Code Online (Sandbox Code Playgroud)
这真的很慢,这是有道理的,因为它运行500个div并搜索每个'search_term'属性以查看输入的搜索词是否在attr中.有更好或更快的方法吗?我甚至对更好的搜索机制感兴趣.
我也可以根据需要修改DOM.
编辑 对不起我应该提到说搜索术语是"你好今天约翰尼",术语"你好","今天"和"约翰尼"必须返回true,这就是为什么我在上面的脚本中使用indexOf.
这是一个简单的CSS选择器:
$(".ticker_list > div[search_term*="+search_term+"]")
Run Code Online (Sandbox Code Playgroud)
您可能需要逃脱search_term,具体取决于它可能包含的内容.
| 归档时间: |
|
| 查看次数: |
119 次 |
| 最近记录: |