【发布时间】:2014-02-26 02:02:32
【问题描述】:
我注意到在我的以下 JavaScript 代码中添加展开和折叠的帮助。我想要折叠时的 +(加号)图像和展开时的 -(减号)图像。请帮我编写代码。请查看数据源,如果我点击手表,它将展开并显示手表,当我再次点击手表时,泰坦将消失。
var dataSource = ({
"Watch": ({
"Titan": ({}),
})
}),
traverseObject = function (obj) {
var ul = document.createElement("ul"),
li;
for (var prop in obj) {
li = document.createElement("li");
li.appendChild(document.createTextNode(prop));
li.onclick = function(){alert("Hello")}
if (typeof obj[prop] == "object" && Object.keys(obj[prop]).length) {
li.appendChild(traverseObject(obj[prop]));
}
ul.appendChild(li);
console.log(ul);
}
return ul;
};
window.onload = function () {
document.getElementById("dvList1").appendChild(traverseObject(dataSource));
}
【问题讨论】:
-
你能提供一个小提琴吗?
-
从这个开头删除每个
(和):var dataSource = ({ "Watch": ({ "Titan": ({}), }) }) -
@user3237973 检查我更新的答案,这也适用于 IE
标签: javascript jquery html list