Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用jQuery更新dom而不是追加_Javascript_Jquery - Fatal编程技术网

Javascript 用jQuery更新dom而不是追加

Javascript 用jQuery更新dom而不是追加,javascript,jquery,Javascript,Jquery,我对jQuery有一个问题:我现在使用以下命令将内容从数组呈现到dom: errors.forEach(error=>{ let message=error.message; 让fileName=error.fileName; $('.errors')。追加(“”).concat(文件名:”).concat(消息“”); }); 但是我得到了一些更新我渲染内容的数组的操作,但是当我在更新数组之后运行这个函数时,它会追加。我以前使用过.empty(),但这感觉像是一次黑客攻击,但我希望它能够更新

我对jQuery有一个问题:我现在使用以下命令将内容从数组呈现到dom:

errors.forEach(error=>{
let message=error.message;
让fileName=error.fileName;
$('.errors')。追加(“
  • ”).concat(文件名:”).concat(消息“

  • ”); });
    但是我得到了一些更新我渲染内容的数组的操作,但是当我在更新数组之后运行这个函数时,它会追加。我以前使用过
    .empty()
    ,但这感觉像是一次黑客攻击,但我希望它能够更新

    我希望这是有意义的

    我可以做什么来更新dom而不是追加

    我希望有人能在这方面帮助我

    jQuery方法会用给定的
    htmlString
    覆盖目标元素的内容。下面的演示函数
    logger()
    将接受对象数组,并以
    格式呈现数据

    let failData=[{
    DOM:“.fail”,
    标题:“错误:”,
    标题:[“文件”,“消息”]
    },
    {
    项目:“12ffda8a99.log”,
    消息:“连接失败”
    },
    {
    项目:“bb6200c400.log”,
    消息:“已损坏的下载”
    },
    {
    项目:“d93ba66731.log”,
    消息:“需要加密密钥”
    },
    {
    项目:“08caa5240f.log”,
    消息:“不匹配的证书”
    },
    {
    项目:“dead0b8a99.log”,
    消息:“不安全的协议”
    }
    ];
    设警告数据=[{
    DOM:“.warn”,
    标题:“警报:”,
    标题:[“系统”,“消息”]
    },
    {
    项目:“网络”,
    消息:“超出限制前剩余1GB的数据”
    },
    {
    项目:“文件”,
    消息:“分区已满前剩余1GB存储”
    },
    {
    项目:'电源',
    消息:“剩余5%的电池”
    }
    ];
    让infoData=[{
    DOM:“.info”,
    标题:“更新:”,
    标题:[“优先级”,“消息”]
    },
    {
    项目:“关键”,
    消息:“需要防病毒更新”
    },
    {
    项目:'可选',
    消息:“媒体编码更新可用”
    }
    ];
    常量记录器=数组=>{
    让html='';
    出租清单;
    for(让array.entries()的[索引,对象]){
    list=$(数组[0].DOM);
    如果(索引==0){
    list.prev('header').html(`${object.title}${array.length-1}${object.header[0]}${object.header[1]}`);
    }否则{
    html+=`
  • ${object.item}${object.message}
  • `; } } html(html); 返回false; } 记录器(故障数据); 记录器(警告数据); 记录器(信息数据)
    标题{
    利润率:10px0-15px;
    }
    保险商实验室{
    填充:5px 0 10px;
    边界:3个山脊#777;
    溢出y:隐藏;
    }
    ul,
    标题{
    显示:表格;
    表布局:固定;
    宽度:90%;
    }
    锂,
    u{
    显示:表格行;
    }
    b{
    显示:表格单元格;
    宽度:50%;
    边框底部:1px实心#000;
    左侧填充:5px
    }
    输出{
    显示:内联块;
    宽度:10厘米;
    }
    
    

          对不起,你能澄清一下吗,你能给我们看一个你想要的输出的例子吗?它现在只呈现一段html代码,带有错误名称和来自数组的错误消息,非常简单,只是一个li列表,但它需要更新,而不是附加例如1错误hget解析了它的get filtered from the array,现在我再次调用该函数,它将附加过滤后的数组添加到现有列表,而不是更新列表您是说要在添加新项目之前清除列表吗?如果是这样,只需在迭代
          错误之前使用
          $('.errors').empty()
          ,我已经这样做了,但这会带来一些重新放置问题。删除的li的空间将被共享。您不想清除li标记,而是在更新错误内容时替换li中的文本?