使用jQuery .load函数刷新元素而不重复它

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用jQuery .load函数刷新元素而不重复它相关的知识,希望对你有一定的参考价值。

当用户单击提交按钮时,div .forum应该刷新(不刷新页面)。但是,出于某种原因,它会在原始div中创建一个新的div .forum,如:

enter image description here

虽然我知道我可以通过在div .forum周围添加一个容器来防止这种情况,但我想知道是否有一个选项意味着我不需要容器div?

<div class="forum">
<form id="theforum">
<input type="submit">
</form>
</div>

<script>
$(document).on("submit", "#theforum", function(e) 
   e.preventDefault();
   $(".forum").load(location.href + " .forum");
);
</script>
答案

我现在无法测试它是否可行,但我相信它可以解决您的问题:

$(".forum").load(location.href + " .forum > *");

这样你就不会抓住div本身,而是它的内容。

另一答案

load函数加载不同页面的响应并将其转储到给定元素中。 因此,要更新.forum div,请删除旧的.forum,然后加载新的.for并将其转储到(刚删除)'。forum'的父级中。

$(document).on("submit", "#theforum", function(e) 
   e.preventDefault();
   $('.forum').remove()  
   $("##FORUMS PARENT TAG##").load(location.href + " .forum");
);

祝好运!

供参考:http://api.jquery.com/load/

以上是关于使用jQuery .load函数刷新元素而不重复它的主要内容,如果未能解决你的问题,请参考以下文章

如何利用jQuery局部刷新页面中的div元素

如何刷新表单中的下拉字段而不使用ajax刷新整个表单?

生成 Jekyll Liquid 内容而不包含它(仅来自 JQuery 加载函数)

DoPostBack在load()jquery函数中调用javascript

jQuery.ajax - 提交表单中的所有元素而不手动输入它们[重复]

如何使用 .load() 使用 jQuery 切换图像?