未捕获的TypeError:无法调用未定义的方法'html'

时间:2012-03-21 11:18:17

标签: javascript jquery html

我想使用jquery

创建一个动态表单
$("#AddMobile").click(function () {

    var newTextBoxDiv = $(document.createElement('div')).attr("id", 'MobileDiv' + counter);

    newTextBoxDiv.after().html('<input type="text" id="Mobile' + counter + '"/>' +
      '<input type="button" id="DeleteMobile+' + counter + '" class="DeleteMobile"  Value="Delete"/>');

   newTextBoxDiv.appendTo("#TextBoxesGroup");

   counter++;
});

当我点击添加按钮时,我从控制台收到此错误"Uncaught TypeError: Cannot call method 'html' of undefined" 它是图书馆的问题吗?我怎么能知道一个函数属于哪个库? 非常感谢

2 个答案:

答案 0 :(得分:1)

只需删除

行中的after()即可
 newTextBoxDiv.after().html('<label>Textbox #'+ counter + ' : </label>' + '<input type="text" name="textbox' + counter + '" id="textbox' + counter + '" value="" >');

它的工作正常。试试吧。

答案 1 :(得分:0)

对您的代码进行一些更改:

  1. 您不需要执行此操作$(document.createElement('div')),您可以让jQuery为您$("<div>")执行此操作。

  2. 您可能希望使用.after().html(),而不是现在使用.after().html("...")的方式。使用.after(),您可以在所选元素之后添加HTML(在您的情况下是新创建的div)。使用.html()修改所选元素中的内容。