• 搜索框提示列表问题


    在实现如下功能的时候,当输入为aj的时候需要将下面的列表删除然后创建新的列表在将后台的数据导入列表

    但是在删除列表的时候我写了如下代码:

      function clearLi(){
            var content_ul = document.getElementById("moreword");
            var ul_childs = content_ul.childNodes;
            var len = ul_childs.length;
            for(var i = 0; i < len; i++){
                content_ul.removeChild(ul_childs[i]);
            }
        }

    但是发现有点毛病:

    看着这些数据,于是恍然大悟,应该是在删除第一个node节点后,后面的节点会一一向前进一位(大概是这么个意思吧)所以为了证明我的想法我写了如下代码:

        function clearLi(){
            var content_ul = document.getElementById("moreword");
            var ul_childs = content_ul.childNodes;
            var len = ul_childs.length;
            for(var i = 0; i < len; i++){
                content_ul.removeChild(ul_childs[0]);
            }
        }

    效果如下:

    一下子就好了,所以我的想法没得错误。

    解决方案:  1. 只删除第一个node节点;

             2. 在删除节点的时候,可以从最后一个开始遍历删除。代码如下:

        function clearLi(){
            var content_ul = document.getElementById("moreword");
            var ul_childs = content_ul.childNodes;
            var len = ul_childs.length;
            for(var i = len-1; i >= 0; i--){
                content_ul.removeChild(ul_childs[i]);
            }
        }
  • 相关阅读:
    python基础代码2
    将博客搬至CSDN
    Python基础代码1
    使用函数处理数据
    创建计算字段
    用通配符进行过滤
    高级过滤数据
    过滤数据
    模式与架构
    工厂方法模式和简单工厂模式的选折
  • 原文地址:https://www.cnblogs.com/tqt--0812/p/6884480.html
Copyright © 2020-2023  润新知