jQuery - 如何在HTML中移动结束标记

时间:2013-11-26 04:07:57

标签: javascript jquery html dom

我正在寻找一种使用jQuery移动结束表单标记的方法。

目前HTML看起来像这样:

<form class="myform">
  <input class="text_field" id="profile_nickname" name="profile[nickname]" size="30" type="text" value="" data-validate="true">
</form>
<div class="form-action">
  <submit class="x">
</div>

由于提交标记位于表单之外,因此提交按钮不起作用。

我想说的是:

$(".myform").remove('</form>')
$('</form>').appendTo($('.form-action'))

这当然不起作用。任何想法都将不胜感激。

4 个答案:

答案 0 :(得分:5)

.append()不能像字符串连接一样工作,你可以切一个切片并将其粘贴到其他地方......你需要移动dom元素

$('.form-action').appendTo('.myform')

答案 1 :(得分:0)

您可以使用点击事件发送表单

$(".form-action").click(submitForm);

function submitForm(){
$(".myform").submit();
}

答案 2 :(得分:0)

你可以克隆旧对象,将新对象追加到“表单”,然后隐藏旧对象。

var $new = $('.form-action').clone();
$('.form-action').hide();
$new.show();
$new.appendTo('.myform');

答案 3 :(得分:0)

这感觉非常错误,但我知道在恶劣的条件下使用仇恨的内容管理系统是什么样的......所以这就是......

如果没有别的办法 ,您可以使用。html()重置HTML内容,如下所示:

<强> Working Example

$('body').html(
    '<form class="myform">' +
    '<input class="text_field" id="profile_nickname" name="profile[nickname]" size="30" type="text" value="" data-validate="true">' +
    '<div class="form-action">' +
    ' <submit class="x">' +
    '</div></form>');

这是一种丑陋的方式,但是如果你被置于一个角落,它将起作用。