html:用script实现搜索框

27 篇文章 0 订阅
25 篇文章 0 订阅

1:body部分:

 <div>
        <input id="search" type="text">
        <button onclick="ss()">搜索</button>
 </div>
        <ul></ul>
        <p id="total">共N条</p>

2:css样式自定,如宽高,字体样式,大小,背景等。

3:script部分:

   var books = ["警世名言","红楼梦","百年孤独","老人与海","人生","平凡的世界","三国演义","遥远的救世主","钢铁是怎样炼成的","白夜行","魔鬼搭讪学","童年","白鹿原","孟子","解忧杂货铺","飘","嫌疑人X的献身","活着"];  //数据源
   var ul=document.querySelector("ul"); //获取ul
   var iptSearch =document.getElementById("search");
   var pTotal=document.getElementById("total");
  
   function setUl(data){   //date是需要显示的数据
       ul.innerHTML=''; //先清空,为后续做准备
       pTotal.innerHTML="共"+data.length+"条";  //p显示的为数据的长度
       for (var i=0;i<data.length;i++){
           ul.innerHTML+=`<li>${data[i]}</li>`;  //将数据填充
       }
   }
   setUl(books);   //输出books

//ss
   function ss(){
   var s=iptSearch.value;    //1.拿到需要搜索的数据 input.value
    if(s==''){  
        setUl(books);    // 如果搜索为空,显示原数据源
        return;
    }
   
   var arr=[];    // 2.不为空,与数据源进行比对,返回一个新的数组,定义一个新数组
    for (var i=0;i<books.length;i++){  /遍历books
       
    if(books[i].indexOf(s) !== -1){     // 检索字符串
        //包含s的内容
        arr.push(books[i]);

    }
    }
    // 3.显示新数组的内容
    setUl(arr);
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值