将div附加到动态创建的div

时间:2016-04-01 05:42:05

标签: javascript jquery html css

我正在迭代一个数组并动态创建一个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()不是

2 个答案:

答案 0 :(得分:2)

  

由于元素未附加在DOM中,因此无法使用$选择器访问它。   您可以html形式使用string变量保持元素,内容不会是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>");
 });

答案 1 :(得分:0)

您没有动态创建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>");
});