这次的重点就在于一个兼容性的问题。就是innerText(微软ie)和textContent(火狐)的知识点,兼容性永远都是伤啊

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
.join_list{ margin:10px;}
.join_title{ height:30px; line-height:30px; margin-bottom:4px; padding:0 10px; background:#f3f3f3; text-indent:2em; font-size:14px; cursor:pointer;}
.join_title b{ background:#FC3; font-weight:normal;}
.join_title span{ float:right; color:#707070; font:bold 18px/30px Arial;}
.join_detail{ display:none; padding:5px 0 10px 30px; word-wrap:break-word;overflow:hidden;}
.join_detail ul li {list-style: disc inside none;}
.join_detail ol li {list-style: decimal inside none;}
.join_detail{ line-height:24px;}
.form{ background:#cde6fe; padding:3px; float:left; position:relative; left:50%; margin:20px 0 20px -240px; overflow:hidden}
input{ width:400px; height:20px; padding:5px; font-size:14px; float:left;}
button{ height:32px; float:left; padding:0 15px; background:#009AE2; border:none; color:#fff;}
</style>
</head> <body>
<div class="form">
<input type="text" placeholder="请输入学校名称" />
</div>
<br clear="all" />
<div class="join_list" id="join_list">
<div class="join_title"><span class="join_mark">+</span>你我她</div>
<div class="join_detail">
我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵
</div>
<div class="join_title"><span class="join_mark">+</span>是你我他</div>
<div class="join_detail">
我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵
</div>
<div class="join_title"><span class="join_mark">+</span>一个兵</div>
<div class="join_detail">
我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵
</div>
<div class="join_title"><span class="join_mark">+</span>我是一</div>
<div class="join_detail">
我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵
</div>
<div class="join_title"><span class="join_mark">+</span>个兵</div>
<div class="join_detail">
我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵
</div>
<div class="join_title"><span class="join_mark">+</span>兵兵</div>
<div class="join_detail">
我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵
</div>
<div class="join_title"><span class="join_mark">+</span>我兵</div>
<div class="join_detail">
我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵
</div>
<div class="join_title"><span class="join_mark">+</span>是一个兵</div>
<div class="join_detail">
我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵
</div>
<div class="join_title"><span class="join_mark">+</span>个兵</div>
<div class="join_detail">
我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵
</div>
<div class="join_title"><span class="join_mark">+</span>一个兵</div>
<div class="join_detail">
我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵我是一个兵
</div>
</div>
</body>
</html>
<script type="text/javascript">
document.getElementsByTagName("input")[0].focus();
var oId=document.getElementById("join_list");
var aLi=getbyclass("join_title",oId); document.onkeyup=function(e){
var str=document.getElementsByTagName("input")[0].value; if(str.length>0){
var re=new RegExp(str,'g');
for(var i=0;i<aLi.length;i++){
var t=aLi[i].innerText||aLi[i].textContent;
if(aLi[i].childNodes.nodeType==3){
}
if(re.test(t)){
aLi[i].style.display="block";
aLi[i].innerHTML=t.replace(re,"<b>"+str+"</b>");
}else{
aLi[i].style.display="none";
}
}
} if(document.activeElement.type=='text'){
if(str.length==0){
location.reload(false);
}
}
} function getbyclass(oClass,Oparent){
var oParent=oParent||document;
if(Oparent.getElementsByClassName){
return Oparent.getElementsByClassName(oClass)
}else{
var re=[];
var reg=new RegExp("\\b"+oClass+"\\b")
var ch=oParent.getElementsByTagName("div");
for(var i=0;i<ch.length;i++){
var str=ch[i].className;
if(reg.test(str)){
re.push(ch[i]);
}
}
return re;
}
} </script>

一个js搜索功能的实现的更多相关文章

  1. 原生JS实现百度搜索功能

    今天呢给大家分享一下自己用原生JS做的一个百度搜索功能,下面上代码: <!DOCTYPE html> <html> <head> <meta charset= ...

  2. iOS--- UITableView + UISearchDisplayController - - - - -实现搜索功能

    iOS中UISearchDisplayController用于搜索,搜索栏的重要性我们就不说了,狼厂就是靠搜索起家的,现在越来越像一匹没有节操的狼,UC浏览器搜索栏现在默认自家的神马搜索,现在不管是社 ...

  3. ios UISearchDisplayController 实现 UITableView 搜索功能

    UISearchDisplayController 是苹果专为 UITableView 搜索封装的一个类. 里面内置了一个 UITableView 用于显示搜索的结果.它可以和一个需要搜索功能的 co ...

  4. 高德地图搜索功能以及清除搜索结果maker

    第一次写文章,写得不好各位看官见谅~ (pσ_σ)P首先这是一个vue里面的项目,高德地图api是直接CDN进来的,所以使用了global来调用,默认已经初始化了一个地图,为了实现一个输入框搜索功能和 ...

  5. CI 结合 vue.js 的搜索功能模块

    CI 结合 vue.js 的搜索功能模块 最近在有优化公司后台的某个模块的搜索功能优化 原先的是这个样子的,很是单调: 老大给我找个图希望我能弄成这样子: 经过不断修改,最后成了这样子 是不是比以前好 ...

  6. JS 实现百度搜索功能

    今天我们来用JS实现百度搜索功能,下面上代码: HTML部分: <!DOCTYPE html> <html> <head> <meta charset=&qu ...

  7. PHP 结合 Boostrap 结合 js 实现学生列表删除编辑以及搜索功能(完结)

    这个自己的小项目要先告一段落了.可能还有许多bug.请见谅 删除学生功能 PHP: // 这里是通过前端代码HTML中的 url 传过来的,用 $_GET 来获取(相关HTML代码可以看一下到主页看一 ...

  8. js table的笔记,实现添加 td,实现搜索功能

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  9. js/jQuery实现类似百度搜索功能

    一.页面代码:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www. ...

随机推荐

  1. 夺命雷公狗---node.js---22之项目的构建在node+express+mongo的博客项目7之数据的修改

    在修改的时候和在PHP里面修改的一样,都是需要在列表页传个id过来才可以实现修改的,如下所示: 然后在后端接收到他传过来id的同时去读取该id的所有信息: 然后就开始写post处理数据方面的问题了,如 ...

  2. Openstack的的nova list命令

    nova list用于在shell交互模式下查看当前用户存在的实例数目,但是这里仍然要注意的地方: 没有参数的nova list [root@node-5 newstest-master]# nova ...

  3. Erlang-特性

    一.模式匹配: 模式匹配作为Erlang的基础,用来完成很多不同的任务:可以用它从数据结构中提取字段值,在函数中进行流程控制,或者当你向一个进程发送消息时,从并行程序刷选那些需要处理的消息: 二.函数 ...

  4. Mysql备份与还原实例

    一.备份数据库 ----清空一下日志 mysql> reset master; Query OK, rows affected (0.02 sec) ----查看一下echo表的存储引擎 mys ...

  5. C#:简单线程样例

    1.定义线程类及内部事件 using System; using System.Collections.Generic; using System.Text; using System.Threadi ...

  6. easyui datagrid 每条数据后添加操作按钮

    easyui datagrid 每条数据后添加“编辑.查看.删除”按钮 1.给datagrid添加操作字段:字段值 <table class="easyui-datagrid" ...

  7. 让ecshop用户登录评价以可择匿名评价

    ECSHOP 默认的程序 是 当用户登录后,对商品商品评价是不是能匿名评价的. 有些店铺设置了只能登录评价,但客户又不想显示自己的账号名称.这时候 这功能 就可以派上用场了 1在 comment.ph ...

  8. GHOST出错

    error 15:file not found grub问题VFS:Cannot open root device "sda" or unknow-block 可能是磁盘驱动程序问 ...

  9. 什么情况下用+运算符进行字符串连接比调用StringBuffer/StringBuilder对象的append性能好

    如果在编写代码的过程中大量使用+进行字符串评价还是会对性能造成比较大的影响,但是使用的个数在1000以下还是可以接受的,大于10000的话,执行时间将可能超过1s,会对性能产生较大影响.如果有大量需要 ...

  10. HDU 4709:Herding

    Herding Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...