jQuery:if语句,父名和子名

时间:2015-11-02 15:01:41

标签: javascript jquery parent-child parent children

我有一个if语句,其中显示每个孩子。但我也想展示他们的父母。有多个父母有孩子。因此,目标应该是将父母显示为<ul>,其中包含多个<li>子女。

for (var i in objects) {
        obj = objects[i].name;
        objID = objects[i].id;
        if (obj == "") {
            daeParent = objects[i].parent.name;
            parentDaeParent = objects[i].parent.parent.name;
            $("#objectH").append("<ul>" + parentDaeParent + "</ul>");
            $("#objectH").append("<li class='object-hierarchy-name dae-hierarchy "+objID+" ' attr-id="+objID+">" + daeParent + "</li>");
        }
}

我能够每次显示父母和孩子,而不是父母一次。

我不知道我的问题是否清楚。

[编辑]

objects是一个数组,其中我使用three.js导入了不同的collada对象。

处理后,我会有这个HTML:

<h3>Parent1</h3>
<ul> 
    <li>Children1</li>
    <li>Children1</li>
</ul>
<h3>Parent2</h3>
<ul> 
    <li>Children1</li>
    <li>Children2</li>
</ul>
[...]

1 个答案:

答案 0 :(得分:1)

  

但不是父母一次

您可以保留已添加的父项的记录,然后仅在记录(数组)中添加,或者(如果父项存在则检查html

您可以使用.filter根据文本查找项目,例如:

var parent = $('#objectH>ul').filter(function(){ 
    return $(this).text() === parentDaeParent;
});

if (!parent.length) {
     $("#objectH").append("<ul>" + parentDaeParent + "</ul>");

parent.append("<li ...")