我有一个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>
[...]
答案 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 ...")