用html写一个无序列表,每个列表下有div元素,点击时候隐藏或显示div 用js方法实现
时间: 2023-09-19 12:05:50 浏览: 96
### 回答1:
可以使用以下代码实现:
HTML代码:
<ul>
<li>
<span>列表1</span>
<div class="content">内容1</div>
</li>
<li>
<span>列表2</span>
<div class="content">内容2</div>
</li>
<li>
<span>列表3</span>
<div class="content">内容3</div>
</li>
</ul>
CSS代码:
.content {
display: none;
}
JS代码:
var items = document.querySelectorAll('ul li');
for (var i = 0; i < items.length; i++) {
var item = items[i];
var span = item.querySelector('span');
var content = item.querySelector('.content');
span.addEventListener('click', function() {
if (content.style.display === 'none') {
content.style.display = 'block';
} else {
content.style.display = 'none';
}
});
}
### 回答2:
要实现点击隐藏或显示div元素,可以通过以下代码实现:
HTML部分:
```html
<ul>
<li onclick="toggleDiv('div1')">列表1
<div id="div1" style="display: none;">隐藏/显示的内容</div>
</li>
<li onclick="toggleDiv('div2')">列表2
<div id="div2" style="display: none;">隐藏/显示的内容</div>
</li>
<li onclick="toggleDiv('div3')">列表3
<div id="div3" style="display: none;">隐藏/显示的内容</div>
</li>
</ul>
```
JavaScript部分:
```javascript
function toggleDiv(divId) {
var div = document.getElementById(divId);
if (div.style.display === "none") {
div.style.display = "block";
} else {
div.style.display = "none";
}
}
```
在上述代码中,通过`onclick`事件绑定了点击列表时调用`toggleDiv`函数,并传入对应的div元素的id作为参数。`toggleDiv`函数通过`getElementById`方法获取到对应的div元素,并判断当前的`display`属性值,如果为`none`则设置为`block`,否则设置为`none`,从而实现点击隐藏或显示的效果。
### 回答3:
HTML代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<title>无序列表和div元素</title>
<style>
.content {
display: none;
}
</style>
</head>
<body>
<ul>
<li onclick="toggleDiv('div1')">列表项1</li>
<div id="div1" class="content">
这是div1的内容
</div>
<li onclick="toggleDiv('div2')">列表项2</li>
<div id="div2" class="content">
这是div2的内容
</div>
</ul>
<script>
function toggleDiv(elementId) {
var div = document.getElementById(elementId);
if (div.style.display === "none") {
div.style.display = "block";
} else {
div.style.display = "none";
}
}
</script>
</body>
</html>
```
在上述代码中,我们使用ul标签创建了一个无序列表。每个列表项下面都有一个div元素。在每个列表项的onclick事件中,调用toggleDiv函数,并传入对应的div元素的id作为参数。toggleDiv函数用来切换div元素的显示和隐藏状态。
在页面加载时,我们使用了一段内联CSS样式,将所有的div元素的display属性设置为none,即默认隐藏。
通过JavaScript,我们获取到传入的elementId,然后通过getElementById方法获取对应的div元素。根据div元素的当前display属性的值,我们可以判断当前是否显示,如果是隐藏,则将display属性设置为block显示;如果是显示,则将display属性设置为none隐藏。
这样,点击列表项时,就可以实现对应div元素的显示和隐藏。
阅读全文