Javascript 用jQuery更新dom而不是追加
我对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(),但这感觉像是一次黑客攻击,但我希望它能够更新
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中的文本?