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

问题描述:

当用户单击提交按钮时,应该刷新div .forum(不刷新页面)。然而,由于某种原因,而不是创建原始DIV中一个新的div .forum,喜欢的部份:使用jQuery .load函数刷新元素而不复制它

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> 
+0

试用$(“。forum”)。load(location.href +“.forum *”); – nicolascolman

我无法测试,如果这个工程,但现在我认为它解决您的问题:

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

这样,你不抓住DIV本身,而是其内容。

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

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

祝你好运!

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

+1

嗨,正如我所提到的,我不想在'.forum'周围添加容器/父项。有另一种方法吗? –