我正在使用W3.CSS导航表,但我有问题。我有2个id,我想显示这2个id当人们,例如,点击标签“伦敦”,然后显示2个id。在W3.CSS导航选项卡代码中,我只能同时显示一个id,但我不知道如何再添加一个id来显示
W3.CSS导航标签代码
<!DOCTYPE html>
<html>
<title>W3.CSS</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<body>
<div class="w3-container">
<h2>Tabs in a Grid</h2>
<div class="w3-row">
<a href="javascript:void(0)" onclick="openCity(event, 'London');">
<div class="w3-third tablink w3-bottombar w3-hover-light-grey w3-padding">London</div>
</a>
<a href="javascript:void(0)" onclick="openCity(event, 'Paris');">
<div class="w3-third tablink w3-bottombar w3-hover-light-grey w3-padding">Paris</div>
</a>
<a href="javascript:void(0)" onclick="openCity(event, 'Tokyo');">
<div class="w3-third tablink w3-bottombar w3-hover-light-grey w3-padding">Tokyo</div>
</a>
</div>
<div id="London" class="w3-container city" style="display:none">
<h2>London</h2>
<p>London is the capital city of England.</p>
</div>
<div id="Paris" class="w3-container city" style="display:none">
<h2>Paris</h2>
<p>Paris is the capital of France.</p>
</div>
<div id="Tokyo" class="w3-container city" style="display:none">
<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan.</p>
</div>
</div>
<script>
function openCity(evt, cityName) {
var i, x, tablinks;
x = document.getElementsByClassName("city");
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablink");
for (i = 0; i < x.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" w3-border-red", "");
}
document.getElementById(cityName).style.display = "block";
evt.currentTarget.firstElementChild.className += " w3-border-red";
}
</script>
</body>
</html>发布于 2020-02-01 20:12:34
一个简单的解决方案是将多个城市名称作为数组而不是单个城市名传递给openCity函数。
在下面的示例中,当您单击伦敦选项卡时,将显示带有id London和Paris的2个选项卡的内容。
function openCity(evt, cityNames) {
let i, x, tablinks;
x = document.getElementsByClassName("city");
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablink");
for (i = 0; i < x.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" w3-border-red", "");
}
cityNames.map(function(city) {
document.getElementById(city).style.display = "block";
});
evt.currentTarget.firstElementChild.className += " w3-border-red";
}<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<div class="w3-container">
<h2>Tabs in a Grid</h2>
<div class="w3-row">
<a href="javascript:void(0)" onclick="openCity(event, ['London','Paris']);">
<div class="w3-third tablink w3-bottombar w3-hover-light-grey w3-padding w3-border-red">London</div>
</a>
<a href="javascript:void(0)" onclick="openCity(event, ['Paris']);">
<div class="w3-third tablink w3-bottombar w3-hover-light-grey w3-padding">Paris</div>
</a>
<a href="javascript:void(0)" onclick="openCity(event, ['Tokyo']);">
<div class="w3-third tablink w3-bottombar w3-hover-light-grey w3-padding">Tokyo</div>
</a>
</div>
<div id="London" class="w3-container city">
<h2>London</h2>
<p>London is the capital city of England.</p>
</div>
<div id="Paris" class="w3-container city" style="display:none">
<h2>Paris</h2>
<p>Paris is the capital of France.</p>
</div>
<div id="Tokyo" class="w3-container city" style="display:none">
<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan.</p>
</div>
</div>
https://stackoverflow.com/questions/60020623
复制相似问题