JQuery不仅仅通过ID

时间:2017-08-15 18:49:46

标签: javascript jquery html

我现在遇到了AJAX和CakePHP的问题,所以我正在努力工作,基本上,我有一个我抓住的元素包含一个表单,当我回显元素时,我回应它在另一个表单中,所以我最终得到嵌套表单...我想使用jquery来抓取嵌套的整个表单,并将其移动到嵌套的表单之外。

我尝试使用

var frm = $('#prevmdform').html();
$('#prevmdform').remove();
$('#hiddenpreview').html(frm);

它只将innerHtml放入#hiddenpreview ...意味着它缺少

<form action='post' ..... > .... </form>

如何获取整个表单,包括上面的内容而不仅仅是innerHtml?

4 个答案:

答案 0 :(得分:1)

您可以只移动元素,而不是使用html:

$('#prevmdform').appendTo('#hiddenpreview');

https://jsfiddle.net/bvfa4qmp/

答案 1 :(得分:0)

你可以使用$('#prevmdform')[0].outerHTML来获取整个元素,但Jason P的回答确实是这里的方法。

答案 2 :(得分:0)

remove函数返回你想要的全部内容,所以用它来填充你的temp变量而不是.html调用:

var frm = $('#prevmdform').remove();
$('#hiddenpreview').html(frm);

答案 3 :(得分:0)

您可以使用jquery prepend()方法将表单内容添加到div中,然后您可以删除表单,如下所示。

$("#context").prepend($('#yourForm').html());
$('#yourForm').remove();
console.log($("#context").html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="context">
  <form id="yourForm">
     <input type="text" />
  </form>
</div>