0

item-group-button我的DOM 层次结构中调用了一组元素。我使用以下 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);
        }
    });
}

元素代码如下。

<div class="item-group-button">
    <!-- Item Group Selection Button -->
        <h3>Beverage</h3>
</div>

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

我正在尝试做的是连接到 Web 服务并根据收到的数据填充 html 元素。如果有人有更好的建议,请赐教!

谢谢你!

4

2 回答 2

1

您必须在控制台中遇到错误,appendChild在 jquery 中没有。

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

应该

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

于 2013-04-23T05:42:28.863 回答
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);
    }
  });
}
于 2013-04-23T05:45:36.777 回答