Jquery在Firefox中附加表单

时间:2015-01-11 11:34:47

标签: javascript jquery html firefox append

在jquery中使用此代码:

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

Firefox会自动插入表单关闭代码:(下面的代码是生成的HTML)

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

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

1 个答案:

答案 0 :(得分:1)

从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(...);

或其中一些混合。