ajax请求数据动态填充之文档与字符串区别手法
success: function(data){ if(data.status==200){ var realName=data.doc.realName; $("#yishiul").append('<li onclick="quxiaoyish(this,'+2+')"><a href="javascript:void(0);" class=""><label id="docresult" value="'+userId+'">'+ToHtmlString(realName)+'</label><i class="fa fa-times"></i></a></li>'); } }
function quxiaoyish(_element,id){
var _parentElement = _element.parentNode;
if(_parentElement&&_parentElement.children.length== 1){
$('.objectRelateCon'+id).css('display','none');
}
_parentElement.removeChild(_element);
}
saveOrgCode = []; success: function(data){ if(data.status==200){ var realName=data.doc.realName; saveOrgCode.push('<li onclick="quxiaozhuren()"><a href="javascript:void(0);" class="">') saveOrgCode.push('<label id="docLeader" value="') saveOrgCode.push(userId+'">'+ToHtmlString(realName)+'</label><i class="fa fa-times"></i></a></li>'); $("#zhurenul").html(saveOrgCode.join("")); //$("#docID").val(userId); } } }
//选择第一诊断的ICD编码 - 已选择 - 点击×
function quxiaozhuren(){
$('.objectRelateCon').css('display','none');
$("#zhurenul").html("");
}
两种都是由ajax成功返回数据并动态填充到ul标签,并想要绑定到每一个li元素点击删除自己的事件,但是,第二种点击li标签删除的是所有的li标签,而第一种删除的只是所点击的li标签,有人可能会说代码就是这样写的,所以会是这种效果,但是根本原因是因为$("#zhurenul").html(saveOrgCode.join(""));这句,每次请求之后都会清空ul标签,重新填充数据,而这个数据用的方法saveOrgCode.join("")含义是把数组里面的数据连接成一个字符串,这样,你就无法将li标签与其他li标签按照dom区分删除,所以,点击删除只能清空ul,而第一种方法也不是完美的,因为每次添加可能会有重复数据,需要后续区分.(进步中,勿喷)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现