搜索关键字的高亮效果

html:

<div class="contaner">
    <div class="search_box">
        <input type="text" class="" placeholder="搜索" autofocus/>
    </div>
    <ul>
        <li>你好,在的呢!</li>
        <li>你好,有什么需要帮助的吗?</li>
        <li>好的,马上帮你转售后。你贵姓</li>
        <li>不能退款的呢。</li>
        <li>这都超过十天了</li>
        <li>好吧,无能为力了</li>
        <li>这款卖的超好哦</li>
        <li>你眼光真不错</li>
        <li>有什么想咨询的吗?</li>
        <li>马上下班了哦</li>
    </ul>
</div>

js:

let input = document.getElementsByTagName('input')[0];
    let liList = document.getElementsByTagName('li');
    input.oninput = function () {
        let inVal = this.value;
        if(inVal.length > 0){
            for(let n of liList){
                let nText = n.innerText;
                if(nText.indexOf(inVal) < 0){
                    n.style.display = 'none';
                }
                else{
                    n.style.display = 'block';
                    nText = nText.replace(eval("/"+inVal+"/g"), "<mark>" + inVal + "</mark>");
                    n.innerHTML = nText;
                }
            }
        }else{
            for(let n of liList){
                // 当没有搜索内容时,显示每一项
                n.style.display = 'block';
                // 获取每一项下面的mark元素
                var cancel = n.getElementsByTagName('mark');
                // 如果存在mark元素
                if(cancel.length > 0){
                    n.innerHTML = n.innerText;
                }
            }
        }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值