js函数必须在alert某元素执行后才能执行
2018-04-04 20:19
281 查看
$.post("queryAllPipe.do", function(list){ $("#pipeVisual").children().remove(); var tbody = ""; $.each(list, function(n, value) { var trs = ""; trs += " <tr> <td> " + value.id + " </td> <td>" + value.pipeModelNumber + "</td><td>" + value.pipeStandard + "</td><td>" + value.pipeAmount + "</td>" + "<td><div class='btn-group'><a href='#' class='btn btn-default'>修改</a><a href='#' class='btn btn-danger' name='deletePipe'>删除</a></div></td>" + "</tr>"; tbody += trs; }); $("#pipeVisual").append(tbody); }); alert($("[name='deletePipe']")); //下面的事件必须在上面alert一下ajax动态添加的元素才能注册执行 $("[name='deletePipe']").on("click", function(){ var tr1 = $(this).parents("tr:first"); var pipeId = tr1.find("td:first-child").text(); //获取要删除订单的钢管id $.post("deletePipe.do", {pipeId:pipeId}, function(e){ tr1.remove(); }); });
如图所示,多数原因为界面ajax中动态添加的元素还没被添加上,就执行了js函数(js函数要调用动态元素)。解决办法:ajax方法中添加 async:false 。作用为,在ajax执行完毕后才执行之后的js。
相关文章推荐
- js函数必须在alert执行才能执行
- js加alert才执行函数解决办法
- 由于以前的函数求值超时,函数求值被禁用。必须继续执行才能重新启用函数求值。
- 解决多线程产生的“以前的函数求值超时,函数求值被禁用。必须继续执行才能重新启用函数求值”
- ODAC访问oracle时,提示:由于以前的函数求值超时,函数求值被禁用,必须继续执行才能正常返回
- VS中单步调试时出现“由于以前的函数求值超时,函数求值被禁用。必须继续执行才能重新启用函数求值。”的问题。
- 由于以前的函数求值超时,函数求值被禁用。必须继续执行才能重新启用函数求值。
- JS无法加载,必须alert才能加载
- js 加alert后才能执行方法
- 从setTimeout看js函数执行过程
- js自执行函数
- js中(function(){…})()立即执行函数写法理解
- 关于js中函数的执行顺序
- sqlserver 只有函数和扩展存储过程才能从函数内部执行
- js中(function(){…})()立即执行函数写法理解
- js中(function(){…})()立即执行函数写法理解
- Js立即执行函数
- js自执行函数、调用递归函数、圆括号运算符、函数声明的提升
- js 立即执行函数
- JS-获取class类名为某个的元素-【getClass】函数封装