Javascript 获取最后一个子元素或孙子元素的父元素?
我正在使用angularjs,我的服务有这个响应,它以树的形式出现,我将数据表示到angularjs树。此对象有4个主子对象,名称和id。但这些子对象及其子对象也有子对象,名称和id。我想要的是,无论单击哪个子对象,我始终希望访问主根父对象名称的值,即“node1”“node2”“node3”作为名称,以便我知道什么是我的主父对象以及im单击下的父对象Javascript 获取最后一个子元素或孙子元素的父元素?,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我正在使用angularjs,我的服务有这个响应,它以树的形式出现,我将数据表示到angularjs树。此对象有4个主子对象,名称和id。但这些子对象及其子对象也有子对象,名称和id。我想要的是,无论单击哪个子对象,我始终希望访问主根父对象名称的值,即“node1”“node2”“node3”作为名称,以便我知道什么是我的主父对象以及im单击下的父对象 $scope.loadOrganizationTree=函数(){ userManagementFactory.getOrganizationT
$scope.loadOrganizationTree=函数(){
userManagementFactory.getOrganizationTree()
.成功(功能(数据、状态){
if(JSON.stringify(data.statusType).indexOf(“success”)>-1){
$scope.dataForTheTree=data.statusMsg;
}
}否则{
$scope.setResponseMsgs(数据、状态);
}
}).错误(功能(数据、状态){
$scope.userErrorMsg=data.statusMsg;
$scope.msg=true;
});
{{node.name}
[
{
“id”:1,
“名称”:“节点1”,
“儿童”:[
{
“id”:11,
“名称”:“节点1.1”,
“儿童”:[
{
“id”:111,
“名称”:“节点1.1.1”,
“儿童”:[]
}
]
},
{
“id”:12,
“名称”:“节点1.2”,
“儿童”:[]
}
]
},
{
“id”:2,
“名称”:“节点2”,
“儿童”:[
{
“id”:21,
“名称”:“节点2.1”,
“节点”:[]
},
{
“id”:22,
“名称”:“节点2.2”,
“节点”:[]
}
]
},
{
“id”:3,
“名称”:“节点3”,
“儿童”:[
{
“id”:31,
“名称”:“节点3.1”,
“儿童”:[]
}
]
}
]
到目前为止,我已经尝试使用$parentnode访问,但对我来说不起作用。请告诉我解决办法。
提前感谢。加载您填写的数据后,$scope.dataForTheTree。然后可以遍历树并设置每个节点的根。 我使用var dataForTheTree和示例数据为您编写了这个代码。 运行以下命令后,每个节点都有一个根属性集及其根节点
var setRoot = function(elementWithChildren, root) {
elementWithChildren.root = root;
if (elementWithChildren.children != null) {
angular.forEach(elementWithChildren.children, function(child) { setRoot(child, root); });
}
};
angular.forEach(dataForTheTree, function(rootNode) { setRoot(rootNode, rootNode); });
我们获取树的每个节点并调用setRoot()函数。然后为每个子级调用setRoot函数。
递归。已经使用了
.success
和.error
方法。这是一个旧代码。这甚至都不是问题。谢谢你的更新:)@Viraj:不是你想要的答案吗?你最后是怎么解决你的问题的?嗨,彼得!很抱歉反应太晚。这对我来说很好。