2009-01-21 85 views
2

我有一些AJAX工作,它引入了DOM中不需要的其他表單元素。我沒有能力將其刪除服務器端,所以我正在尋找一些jQuery或經典的JavaScript,這將允許我捕獲窗體的所有子元素,刪除我不需要的窗體,將子元素追加回DOM。使用jQuery刪除第二個表單元素而不會丟失子元素

任何幫助,將不勝感激

編輯:感謝您的快速解答,下面是我實際使用和它的作品完美

  // Captures the children 
      var children = $("form:eq(1)").children(); 
      // Removes the form 
      $("form:eq(1)").remove(); 
      // append the child elements back into the DOM 
      $("#fillDiv").append(children); 
+0

@Toran:我的解決方案會做你問什麼,但你可能要使用類似@ Staicu的解決方案,而不是增加的形式向DOM然後試圖刪除和離開它的孩子... – Prestaul 2009-01-23 14:13:55

+0

我只需要很容易能夠清除其子元素ID不可預知地創建一個div。我只是在你的解決方案上使用了一些細微的變化: $(「#containerDiv」)。children()。remove(); 而且我很賺錢,我甚至都不知道。非常感謝。 – Pete 2009-05-20 15:26:37

回答

6

而不是使用.html()方法(這將導致你失去了任何與表單元素相關的事件)你應該移動子節點:

// grab the child nodes 
var children = $('#badForm').children(); 
// or var children = $('#badForm > *'); 

// move them to the body 
$(body).append(children); 

// remove the form 
$('#badForm').remove(); 
+0

你是正確的先生!感謝您的快速回復! – 2009-01-21 16:42:13

2

如果你有這樣的AJAX代碼:

$.ajax({ 
    type: "get", 
    url: "url", 
    data: , 
    cache: false, 
    success: function(data){ 

    } 
}); 

您可以success功能這個附加:

$(data).find('#whatYouNeed').appendTo('#whereYouNeed') 

通過這種方式,你可以提取任何你從該頁面:)

相關問題