Jquery 在 Firefox 中追加表单

Jquery append form in Firefox

在 jquery 中使用此代码时:

$('#slider').prepend('<form action="/file-upload" class="dropzone" id="dropzone">');

Firefox 正在自动插入一个表单关闭标记:(下面的代码是结果 HTML)

<form action="/file-upload" class="dropzone" id="dropzone">
</form>

我想通过 jquery 决定将表单关闭标记放在哪里。 Firefox 只是忽略我的代码并插入表单关闭标记,如上所示。

从 javascript 插入 DOM 节点不同于在源文件中写入 HTML 行。无论使用什么语法,都会插入一个完整的节点(在您的情况下是一个 <form/> 节点),没有半个节点这样的东西。全有或全无。

$("#slider").prepend("<form>");
//should be written as
$("#slider").prepend("<form/>");
//and, in all browsers, is equivelent to
$("#slider").prepend("<form></form>");

如果您希望插入的节点包含一些内容,则:

$("#slider").prepend("<form ...> <!-- all the form's contents here --> </form>")

var $form = $("#slider").prepend("<form ... />");
$form.append(...);
$form.append(...);
$form.append(...);

var $form = $("#slider").prepend("<form ... />");
$form.html(...);

或这些的一些混合。