Javascript jQuery html代码生成,每个代码生成$.get和$.get

Javascript jQuery html代码生成,每个代码生成$.get和$.get,javascript,jquery,html,Javascript,Jquery,Html,我不知道我做错了什么 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/G

我不知道我做错了什么

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);
      });
    });
  });
});
var内容=”;
$(文档).ready(函数(){
$('a.main_group')。单击(函数(){
var t=$(this),gId=(''+t.data('id')).split(',')[1];
var div=$('li div.cbp-hrsub div.cbp-hrsub-inner');
$.get(null,{uu操作:'get/Groups',groupId:gId,languageId:{uu lngId},函数(d){
var obj=d.action.Object;
$。每个(obj,功能(i,el){
$.get(null,{u_操作:'get/Groups',groupId:el.Id,languageId:{u_lngId},函数(节点){
var obj2=node.action.Object;
$。每个(obj2,功能(i,el){
内容+=“”+el.Title+“”;
内容+=“
    ”; $.get(null,{u_操作:'get/Groups',groupId:el.Id,languageId:{u_lngId},函数(node2){ var obj3=node2.action.Object; $。每个(obj3,功能(i,el){ 内容+=“
  • ”; }); }); 内容+=“
”; }); }); 内容+=”; 控制台日志(内容); }); }); }); });
我需要用jQuery生成HTML代码,但我只得到:

如果我将每个分配
content+=''
更改为
console.log
,则一切正常。信息技术 看起来每次都在初始化内容变量。
我怎样才能解决这个问题?

我想我知道你想要什么,所以试试这个

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);
      });
    });
  });
});
var内容=”;
$(文档).ready(函数(){
$('a.main_group')。单击(函数(){
var t=$(this),gId=(''+t.data('id')).split(',')[1];
var div=$('li div.cbp-hrsub div.cbp-hrsub-inner');
$.get(null,{uu操作:'get/Groups',groupId:gId,languageId:{uu lngId},函数(d){
var obj=d.action.Object;
$。每个(obj,功能(i,el){
$.get(null,{u_操作:'get/Groups',groupId:el.Id,languageId:{u_lngId},函数(节点){
var obj2=node.action.Object;
$。每个(obj2,功能(i,el){
内容+=“”+el.Title+“”;
内容+=“
    ”; $.get(null,{u_操作:'get/Groups',groupId:el.Id,languageId:{u_lngId},函数(node2){ var obj3=node2.action.Object; $。每个(obj3,功能(i,el){ 内容+=“
  • ”; }); }); 内容+=“
”; }); }); 内容+=”; 控制台日志(内容); $(“此处的选择器”).html(内容); }); }); }); });

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

据我所知,$.get是异步的。所以

    content += "</div></div>";
    console.log(content);
content+=”;
控制台日志(内容);

在任何其他
内容+=
分配之前执行。看起来你需要重新设计一下你的代码

对于初学者来说,你的代码在$(document.ready()之前,甚至没有在DOMIt上的任何地方追加
var content
,你没有在HTML中追加它,仅仅因为你给它分配了一个变量名并不意味着它会神奇地出现在DOM中,不管我是在console.log还是append中记录它,它总是显示最后一个结束部分。你真的需要阅读它,这是wird,我肯定是个白痴。为什么console.log不显示代码?@TronComputers什么意思?console.log(内容);好的,很酷,很高兴它能工作,如果可能的话,控制台正在修剪绳子,如果它很大的话。如果它对您有效@troncomputers,请您将其标记为答案。这仍然存在一个基本问题,即它忽略了
get
是异步的这一事实。如果这个代码比origina问题中的代码工作得更好,我会非常惊讶