用js或jQuery做一个模糊查询,如在一个列表中有许多项内容,点击搜索,怎样只显示搜索的内容,其他的隐藏?

在模糊查询中,怎样显示搜索的内容而不显示其他内容,或者将要搜索的内容置前?

阅读 5.5k
3 个回答

我来提供另一种思路,曾经张鑫旭写的,当初看到的时候觉得惊为天人,思路之妙,不可言

CSS属性选择器驱动的过滤搜索技术
http://www.zhangxinxu.com/wor...

正则表达式?匹配所有td。然后如果正则是true td的。parent是tr。hide就可以了

<body>       
   <input type="text"><br>    
   <div>div1</div>
   <div>div2</div>
   <div>div3</div>
   <div>div4</div>
   <div>div5-hide</div>
   <div>div6-hide</div>
   <div>div7-hide</div>
   <div>div8-hide</div>
   <div>div9-hide</div>
   <div>div10-hide</div>
</body>
<script>
    $('input').keyup(function(){
        var value = $(this).val();
        // $('div').each(function(){
        //     if($(this).html().indexOf(value) != -1)
        //         $(this).show();
        //     else
        //         $(this).hide();
        // });
        $(this).parent().append($('div').sort(function(a,b){
                return $(a).html().indexOf(value) < $(b).html().indexOf(value);
        }));
    });
</script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题