jQuery HTML代码生成$ .get和$ .east



我不知道我在做什么错。

var content = '';
$(document).ready(function() {
  $('a.main_group').click(function(){
    var t = $(this), gId = ('' + t.data('id')).split(',')[1];
    var div = $('li div.cbp-hrsub div.cbp-hrsub-inner');
    $.get(null, {__action: 'Get/Groups', groupId: gId, languageId: __lngId}, function (d){
      var obj = d.action.Object;
      $.each(obj, function(i, el){
        $.get(null, { __action: 'Get/Groups', groupId: el.Id, languageId: __lngId}, function (node){
          var obj2 = node.action.Object;
          $.each(obj2, function(i, el){
            content += "<div><h4>"+el.Title+"</h4>";
            content += "<ul>";
            $.get(null, {__action: 'Get/Groups', groupId: el.Id, languageId: __lngId}, function(node2){
              var obj3 = node2.action.Object;
              $.each(obj3, function(i, el){
                content += "<li><a href='"+el.Url +"'>"+el.Title+"</a></li>";
              });
            });
            content += "</ul></div>";
          });
        });
        content += "</div></div>";
        console.log(content);
      });
    });
  });
});

我需要使用jQuery生成HTML代码,但我只能得到:<div></div>

如果我将每个分配的content += ''更改为console.log,则一切都很好。它看来内容变量每次都在初始化。我该如何解决?

,据我了解,$。get是异步的。所以

    content += "</div></div>";
    console.log(content);

在任何其他content+=分配之前执行。看起来您需要对代码进行一些重新设计

我想我知道你想要什么,请尝试一下。

var content = '';
$(document).ready(function() {
  $('a.main_group').click(function(){
    var t = $(this), gId = ('' + t.data('id')).split(',')[1];
    var div = $('li div.cbp-hrsub div.cbp-hrsub-inner');
    $.get(null, {__action: 'Get/Groups', groupId: gId, languageId: __lngId}, function (d){
      var obj = d.action.Object;
      $.each(obj, function(i, el){
        $.get(null, { __action: 'Get/Groups', groupId: el.Id, languageId: __lngId}, function (node){
          var obj2 = node.action.Object;
          $.each(obj2, function(i, el){
            content += "<div><h4>"+el.Title+"</h4>";
            content += "<ul>";
            $.get(null, {__action: 'Get/Groups', groupId: el.Id, languageId: __lngId}, function(node2){
              var obj3 = node2.action.Object;
              $.each(obj3, function(i, el){
                content += "<li><a href='"+el.Url +"'>"+el.Title+"</a></li>";
              });
            });
            content += "</ul></div>";
          });
        });
        content += "</div></div>";
        console.log(content);
        $("YOUR SELECTOR HERE").html(content);
      });
    });
  });
});

您需要实际附加生成的HTML。

最新更新