一か念う执着が 2022-08-22 14:05 采纳率: 94.1%
浏览 53
已结题

要求独立完成的怎么全部删除这个会,但是要求是我们自己制作一个独立删除的功能

要求独立完成的怎么全部删除这个会,但是要求是我们自己制作一个独立删除的功能,就是通过点击每个展示的数据的点击按钮来删除展示的对应数据其他一起展示的不受影响,只删除,删除按钮对应的数据(数组);
删除按钮是采用事件委托的形式实现的点击功能打印数据是有效的就是无法实现上述功能。

img


img


<div id="sh_for_rmd_rods">
                        <div class="rods_font-del_box">
                                <span class="rods_font">搜索历史</span>
                                <span id="Rod_Del" class="rods_del">全部删除</span>
                        </div>
                        <ul id="ShowHistory">
                        </ul>
                </div>
            </div>        
    SearchBtn.onclick = function(){
        let userVal = SearchInput.value;
        let localCon = localStorage.getItem('SearchInputValue');
        arr = localStorage.getItem('SearchInputValue') ? arr = JSON.parse(localStorage.getItem('SearchInputValue')) : [];
        if(userVal == null||userVal == ''||userVal == undefined||userVal.replace(/(^\s*)|(\s*$)/g, "")==''){
            return;
        }else{
            let arr = [];
        }
        if(arr.indexOf(userVal)== -1){
            arr.unshift(userVal);
         };
         if(arr.length >= 15){
            arr.splice(arr.indexOf(14),1);
         };
         localStorage.setItem('SearchInputValue',JSON.stringify(arr));
    };
    rods_del.onclick = function () {
        localStorage.clear('SearchInputValue');
    };
    inputRecommendation.onclick = function(shwHir){
        SearchInput.focus();
        shwHir.cancelBubble = true;
        let locaShow = JSON.parse(localStorage.getItem('SearchInputValue')) || [];
        if(localStorage.getItem('SearchInputValue') !== null){
            sh_for_rmd_rods.style.display = 'block';
        }else{
            sh_for_rmd_rods.style.display = '';
        };
        let Showhtml = '';
        for(let i = 0; i < locaShow.length; i++){
            Showhtml += `<li class='SearchHiy_font'data-key='SearchInputValue' data-index=${i}>${locaShow[i]}<span class='SearchiconDelBin'id='delhiy' data-index=${i} data-value=${locaShow[i]}>删除`;
        ShowHistory.innerHTML = Showhtml; 
    };
};
ShowHistory.onclick = function(d){/*这个是采用事件委托来实现 span class='SearchiconDelBin' 点击效果*/
    if(d.target.className == 'SearchiconDelBin'){
        let localDel = JSON.parse(localStorage.getItem('SearchInputValue'));
         console.log(d.target.dataset['value']);
    };
};

  • 写回答

2条回答 默认 最新

  • 崽崽的谷雨 2022-08-22 14:51
    关注

    这个 列表应该是循环出来的 。那你 可以用 移出 元素 。或者删除 掉数组里的这一项数据。然后重新渲染

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月22日
  • 已采纳回答 8月22日
  • 创建了问题 8月22日

悬赏问题

  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了