
正文
js获取对象所有上级节点名称 js获取属性节点值的方法
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
JS根据子节点递归获取所有父节点的集合
//传入参数:需要遍历的对象,需要匹配的id,获取所有的父级节点的Id
function findIdList(data2, id, children = 'children', level = 0) {
var arrRes = [];
let obj = {
id: 0,
[children]: data2
}
let rev = (data, id, level) = {
if (!data || !data[children] || !data[children].length) {
return;
}
for (var i = 0; i data[children].length; i++) {
let item = data[children][i];
if (item.id == id) {
// 将匹配到的结果保存到数组
arrRes.unshift({ level, activeId: item.id });
// 递归它的父级
rev(obj, data.id, 0);
break;
} else if (item[children] item[children].length 0) {
//如果有子集,则把子集作为参数重新执行本方法
rev(item, id, level + 1);
}
}
};
rev(obj, id, level);
return arrRes;
}
let list = [
{id: 1, children: [
{id: 11, children: [{id: 12}]}
]},
{id: 2, children: [{id:21, children: [{id: 31}]}]}
]
let b = findIdList(list, 21)
console.log(b) // [ { level: 0, activeId: 2 }, { level: 1, activeId: 21 } ]
相关问答
Q1: 如何用js获取某个img标签节点的所有属性名
使用JavaScript获取某个元素的属性值可以使用jQuery中的选择器+attr()方法。
工具原料:编辑器、浏览器
1、实现的思路是先使用选择器通过id获取到这个元素,然后使用attr方法获取某个属性的值,代码如下:
div id="div1" class="test"
/div
script
console.log($('#div1').attr('class'));
/script
2、运行的结果是获取到了class的值test,
Q2: 如何通过js脚本获得jquery tree树节点的Id号
使用jQuery框架操作HTML DOM是一件极其便捷的事情,如下操作即可获取相应节点的数据,id和名字(下文中引用“$(this)”表示一个jQuery对象):
获取节点标签内容数据: $(this).html( )
获取表单组件中的值: $(this).val()
获取节点中的文本内容(例如textarea): $(this).text()
获取节点的id: $(this).attr("id")
获取节点的名字: $(this).attr("name")
js获取对象所有上级节点名称的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于js获取属性节点值的方法、js获取对象所有上级节点名称的信息别忘了在本站进行查找喔。








