【发布时间】:2020-01-23 10:08:37
【问题描述】:
我有一个网页上的项目列表。每次单击列表中的任何项目时,我都想通过 Ajax 加载表单。 HTML 如下所示:
<div class="item">
<... some html code for the first item ...>
</div>
</div class="item">
<... some html code for the next item ...>
</div>
etc..
我的目标是,如果用户单击第一个“item-div”,则应使用 AJAX 加载表单。加载的表单应插入到“item-div”之后......像这样:
<div class="item">
<... some html code for the first item ...>
</div>
<form>
<... some html code for the form... loaded via AJAX...>
</form>
</div class="item">
<... some html code for the next item ...>
</div>
etc..
我不明白为什么这不起作用。这是我的 jQuery 代码:
$(document).ready(function(){
$(".item").click(function(){
$(this).after().load("loadform.php");
});
});
Ajax-load 函数会覆盖内部的<... some html code... >,而不是在“item-div”之后添加它。怎么了?我该如何解决?
【问题讨论】:
-
可以使用jQuery insertAfter() 方法,w3schools.com/jquery/html_insertafter.asp 或.append() 方法api.jquery.com/append
-
我认为这行不通@JordiJordi
-
您不能将 load() 与 after() 一起使用。当检测到成功响应时(即 textStatus 为“success”或“notmodified”),.load() 将匹配元素的 HTML 内容设置为返回的数据。
-
@Jinesh 也许它不起作用,没关系我给这个链接不同的结果,因为 ajax 加载结果,然后问题是它是如何插入到 DOM 中的。 jsfiddle.net/designaroni/b33tL7hu
-
@Gowire 我可以知道 item-div 的位置吗?