一か念う执着が 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日

悬赏问题

  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)