2017-12-27 137 views
2

當用戶單擊提交按鈕時,應該刷新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

回答

2

我無法測試,如果這個工程,但現在我認爲它解決您的問題:

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

這樣,你不抓住DIV本身,而是其內容。

1

加載函數加載不同頁面的響應並將其轉儲到給定元素中。
因此,要更新.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'周圍添加容器/父項。有另一種方法嗎? –