我想隐藏类(logos)中除被点击的元素之外的所有元素。然而,我发现无法向addEventListener激活的函数传递参数!这似乎...至少是不灵活的。是否有其他明显的方法可以传递参数,而我却看不到(我对Javascript还比较新)?
<!DOCTYPE html>
<head>
<link rel="stylesheet" type="text/css" href="index.css">
<title>Sexism in Silicon Valley</title>
</head>
<body id="body1">
<div class="parent">
<img src="kstartup.png" class="logos" id="id1">
<img src="uber.png" class="logos" id="id2">
<img src="kpcb.png" class="logos" id="id3">
<img id="id4" src="r1startup.png" class="logos">
</div>
<div class="parent" id="parent2">
<img src="zillow.png" class="logos" id="id5">
<img src="github.png" class="logos" id="id6">
<img src="tinde.png" class="logos" id="id7">
<img src="snapchat.png" class="logos" id="id8">
</div>
<script src="index.js"></script>
</body>
</html>
Javascript:
function click(x) {
for (var i = 0; i < logos.length; i++) {
if (x !== i) {
logos[i].style.display = "hidden";
}
}
}
var logos = document.getElementsByClassName("logos");
for (var i = 0; i < logos.length; i++) {
logos[i].addEventListener('click', click(i));
}