背景:表单input文件和预览图生成的div分开生成在不同的document节点
今天写的一点没啥用的代码(js),虽然功能实现了,通过点击事件去获取子类的img的src属性,去匹配另一个div下的src,做删除操作。
感谢前辈给我挖的一个坑,今又复习了一遍jq的父类,祖先。遍历和移除的操作。
$('.remove').click(function (index) { var del_img=$(this).parent().children()[0].src; //http://xxxxxxx.io/upload/image/20190415/2c07006289e0580b568b0a408e692354.png
var baseUrl=document.domain;
var img_in=del_img.indexOf(baseUrl);
var up_img=del_img.substr(baseUrl.length+img_in);//获取到该img的value //去查找layui-upload下的input
var upload_input=$(".img_list").children('input');
upload_input.each(function (i,el) {
$.each(el,function (index,item) {
if (item==up_img&&item!='undefined'){
upload_input[i].remove(); } }); });//去除预览图
$(this).parent()[0].remove(); });
解决问题:
将生成的input,img(预览图)放到同一div下,删除的时候一起删就搞定了。气哭。。。