Jquery附加问题

Jquery appending issues

本文关键字:问题 Jquery      更新时间:2023-09-26

我有一个JSON对象,我循环通过它并正确地工作

iGenerateChilds = function (obj, div, $new) {
            var $new = $();
                $.each(obj.objects, function (p, par) {
                    $(div).append(iGenerateObject(par, ""));
                    alert(par.objects.length);
                    if (par.objects.length != 0) {
                        iGenerateChilds(par, div, $new);
                    }
                });
            return div;
        };

通过这种方式,我想处理对象之间的连接,现在这样做是错误的,而且无法解决如何正确地做到这一点。

目前它生成

<table></table><tr></tr><td></td><td></td> 

我想要

<table><tr><td></td><td></td></tr></table>

有人能解决这个问题吗?

试试这个:

iGenerateChilds = function (obj, div) {
                $.each(obj.objects, function (p, par) {
                    var genObj = iGenerateObject(par, "");
                    $(div).append(genObj);
                    alert(par.objects.length);
                    if (par.objects.length != 0) {
                        // add the children to the newly added genObj-element
                        iGenerateChilds(par, genObj);
                    }
                });
            return div;
        };

如果你能发布更多信息,比如你的HTML结构和JSON对象,那会很有帮助。

但乍一看,我会说你添加的元素太高了。这行$(div).append(iGenerateObject(par, ""));看起来像是将它附加到了包装表的元素上,对吗?它需要附加到传递的元素中的<table>