2013-04-23 88 views
0

我在我的DOM层次结构中有一组名为item-group-button的元素。我使用以下jQuery代码来获取上述指定的元素,并将新内容添加到元素的内部HTML中。获取文档中的元素并添加子元素

function getMajorGroups(){ 
    var element = $(".item-group-button"); 
    $.get("http://localhost:9157/getAllMajorGroups", function(data){ 
     if(data.majorGroups.length != 0){ 
      $('.panel_list').empty(); 

     } 
     for(var i = 0; i < data.majorGroups.length; i++){ 
      element[i].appendChild("<h3>" + data.majorGroups[i] + "</h3>"); 
      $('.panel_list').append(element); 
     } 
    }); 
} 

元素代码如下。

但是,当我运行代码时,元素不会被清除,并且新内容会附加当前内容。

我想要做的是连接到一个web服务,并根据收到的数据,填充html元素。如果有任何人有更好的建议请赐教!

谢谢!

+0

其中是.panel_list? – PSL 2013-04-23 05:39:55

+0

它是项目组按钮的父元素。 – 2013-04-23 05:42:41

+0

页面中是否只有一个panel_list和一个item-groupbutton? – PSL 2013-04-23 05:44:10

回答

0

我认为你应该使用.clone()因为我在你的代码中看到,你一次又一次地追加element,产生一些重复的值。

function getMajorGroups(){ 
    var element = $(".item-group-button"); 
    $.get("http://localhost:9157/getAllMajorGroups", function(data){ 
    if(data.majorGroups.length != 0){ 
     $('.panel_list').empty(); 
    } 
    for(var i = 0; i < data.majorGroups.length; i++){ 
     var clone = element.clone(); 
     clone.append("<h3>" + data.majorGroups[i] + "</h3>"); 
     $('.panel_list').append(clone); 
    } 
    }); 
} 
+0

这工作,但不得不改变一些代码!不管怎么说,还是要谢谢你! :) – 2013-04-23 05:55:51

1

您必须在控制台中得到错误,jQuery中没有appendChild

$('.panel_list').appendChild(element);

应该

$('.panel_list').append(element);

+0

我更新了功能! – 2013-04-23 05:45:19

+0

什么是data.majorGroups [i]? – PSL 2013-04-23 05:47:29

+0

也许发布你的json也会给你一个你需要的图片。同时抽出把HTML。 – PSL 2013-04-23 05:49:57