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

jQuery - How do I Move a closing tag in my HTML

本文关键字:移动 结束 HTML jQuery-      更新时间:2023-10-18

我正在寻找一种使用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>

因为submit标记在表单之外,所以submit按钮不起作用。

我想说这样的话:

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

这当然是行不通的。任何想法都将不胜感激。

.append()不像字符串串联那样工作,在字符串串联中,您可以剪切一个切片并将其粘贴到其他地方。。。你需要移动dom元素

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

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

$(".form-action").click(submitForm);
function submitForm(){
$(".myform").submit();
}

您可以克隆旧对象,将新对象附加到"form",并隐藏旧对象。

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

这感觉真的很不对,但我知道在恶劣的条件下使用可恶的内容管理系统是什么感觉。。。所以它开始了。。。

如果真的没有其他方法 你可以用.HTML()重置HTML内容,如下所示:

工作示例

$('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>');

这是一种丑陋的方式,但如果你陷入困境,它会起作用。