将一个div追加到动态创建的div中



我正在迭代一个数组并动态创建一个div,如下所示:

   $.each(item,function(k,item2) {
     html = '<td><div id="test">'+item2.Name +'</div></td>'
     //For just testing purpose , I am adding a div dynamically as:
     $("#test").append("<div class='test class'></div>");
   });

但最后,当我浏览html页面时,根本找不到class='test-class'的新div。我缺什么了吗?

编辑:在html标签"html"中,有多个div,我想通过id 附加到一个特定的div

不确定问题出在哪里:但是在html被创建之后,$("#test").append("<div class='test class'></div>");有效,但使用$(html).find()进行追加不会

由于元素并没有附加在DOM中,所以不能使用$选择器访问它。您可以使用string形式的html变量保持元素,内容将不是document,但您可以在用$ 包装#test元素后访问它

 $.each(item, function(k, item2) {
   var html = '<td><div id="test">' + item2.Name + '</div></td>';
   $(html).find('#test').append("<div class='test class'></div>");
 });

您不是在动态创建id为"test"的元素,您只是在变量中赋值。请试试下面的代码

$.each(item,function(k,item2) {
     html = '<td><div id="test">'+item2.Name +'</div></td>';
     $('any existing element class/id').html(html);
     //For just testing purpose , I am adding a div dynamically as:
     $("#test").append("<div class='test class'></div>");
});

最新更新