使用js完成三层ul嵌套
时间: 2023-07-20 20:34:19 浏览: 117
以下是一个使用JavaScript动态生成三层ul嵌套的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>三层ul嵌套</title>
<style>
ul {
list-style: none;
padding: 0;
margin: 0;
}
li {
padding-left: 20px;
position: relative;
}
li:before {
content: "";
position: absolute;
left: 0;
top: 5px;
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #333;
}
ul ul:before {
content: "";
position: absolute;
left: 0;
top: 0;
width: 2px;
height: 100%;
background-color: #333;
}
ul ul {
margin-left: 20px;
position: relative;
}
ul ul ul:before {
content: "";
position: absolute;
left: 0;
top: 0;
width: 2px;
height: 100%;
background-color: #333;
}
</style>
</head>
<body>
<ul id="tree"></ul>
<script>
// 定义一个数组,表示三层嵌套的结构
var data = [
{
name: '第一层',
children: [
{
name: '第二层',
children: [
{
name: '第三层'
}
]
}
]
}
];
// 递归生成树形结构
function generateTree(data, parent) {
var ul = document.createElement('ul');
parent.appendChild(ul);
data.forEach(function(item) {
var li = document.createElement('li');
li.innerText = item.name;
ul.appendChild(li);
if (item.children) {
generateTree(item.children, li);
}
});
}
// 获取根元素并生成树形结构
var tree = document.getElementById('tree');
generateTree(data, tree);
</script>
</body>
</html>
```
在这个示例中,我们首先定义了一个数组 `data` 来表示三层嵌套的结构,然后定义了一个递归函数 `generateTree` 来生成树形结构。最后,我们在页面中定义了一个空的 `<ul>` 元素,并在JavaScript中获取该元素,然后调用 `generateTree` 函数来生成三层嵌套的结构。注意,在生成的过程中,我们使用了 `document.createElement` 方法来创建新的元素,并使用 `appendChild` 方法将其添加到父元素中。同时,我们也使用了 `innerText` 属性来设置元素的文本内容。
阅读全文