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

时间:2017-12-27 12:09:04

标签: javascript jquery html

当用户点击提交按钮时,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>

2 个答案:

答案 0 :(得分:2)

我无法测试这是否正常,但我相信它可以解决您的问题:

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

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

答案 1 :(得分:1)

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/