你好,我给你写了一个函数:
function nodeTree(node) {var root = node.tagName,
tree = '<span style="color:#fff">' + root + '</span><br>',
output = '',
kcolors = ['#cc99cc', '#78dead', '#3ba264', '#ffcc54'],
vcolors = ['#bb512d', '#6798e8', '#f3825b', '#c1cff4']
function listObj(obj, _root) {
var first = true,
root = _root
for (var k in obj) {
if (first) {
root += '::' + k
first = false
}
var deep = root.split('::').length - 1,
v = typeof(obj[k]) == 'function' || typeof(obj[k]) == 'string' || ('' + obj[k]).indexOf('function') === 0 ? typeof(obj[k]) : obj[k]
tree += '<span class="gray">&nbsp&nbsp&nbsp' + '|....'.repeat(deep - 1) + '|.. </span><span style="color:' + kcolors[deep - 1] + '">' + k + '</span>: <span style="color:' + vcolors[deep - 1] + '">' + v + '</span><br>'
if ((Object.prototype.toString.call(obj[k]) === '[object Object]' || Object.prototype.toString.call(obj[k]).match(/^\[object\sHTML[^I]/)) && deep < 3) {
listObj(obj[k], root)
}
}
return tree
}
tree = listObj(node)
document.body.style.backgroundColor = '#2d2d2d'
document.body.style.color = '#fff'
document.body.innerHTML = tree
}
使用方法很简单,打开任意页面,在控制台先执行上面的函数声明,然后调用函数显示指定节点的属性列表:
nodeTree(document.body) // ornodeTree(document.getElementsByTagName('div')[0])
返回结果直接就会覆盖body中的内容,并高亮缩进显示,查看非常方便
递归显示内容比较多,执行会略慢,现在控制在显示三级,调用时需略作等待
希望是你想要的结果,望采纳~~
json的“亲爸”就是JavaScript,还用转吗?
有2种方法直接使用json数据:
var jsonObject = eval("(" + jsonString + ")")
var jsonObject = JSON.parse(jsonString)
如果你想遍历转换后的json对象,可以用for in语句,具体用法请查阅JavaScript API。