我的任务是使用jQuery创建动态form
。创建表单后,我需要将表单发送到div
中声明的body
标记。在任何情况下,我都不允许在HTML正文中声明该表单。表单在脚本中创建并显示在正文中。
var frm = $("<form id=searchform></form>");
$("#searchform").append(txt4, txt3, txt5, txt6); // txt4 etc, are elements added to the form
$("#reports2").html("#searchform");// SOMETHING NOT QUITE RIGHT HERE!
reports2
被声明为正文中的div,上面的代码在本地脚本中。任何帮助或指示将不胜感激。
答案 0 :(得分:5)
您需要向frm
方法提供append()
变量,而不是DOM中尚未包含的元素的字符串选择器,而不是html()
方法期待一个字符串。试试这个:
var $frm = $("<form id=searchform></form>");
$frm.append(txt4, txt3, txt5, txt6);
$("#reports2").append($frm);
或者:
var $frm = $('<form id="searchform"></form>');
$frm.append(txt4, txt3, txt5, txt6).appendTo('#reports2');
以上两者在逻辑上是相同的,后者由于链接方法调用而缩短。请注意,变量名之前的$
是一个命名约定,用于表示该变量包含jQuery对象。