他の2つを隠すボタンを各画像に作成しようとしています。たとえば、左の画像のボタンをクリックすると、左の画像が表示され、中央の画像と右の画像が非表示になります。 HTMLは同じ、何か提案を維持する必要がありますか?ボタンを隠す/表示する
divのcontrols
内のボタンをクリックすると
<div id="works">
<figure data-artist="left">
<img src="david.jpg" alt>
<figcaption>left image</figcaption>
</figure>
<figure data-artist="middle">
<img src="david-plaster.jpg" alt>
<figcaption>middle image</figcaption>
</figure>
<figure data-artist="right">
<img src="florence-cathedral.jpg" alt>
<figcaption>Right image</figcaption>
</figure>
</div>
<div id="controls">
</div>
<script>
var hideShowButton = document.getElementById("hideShowButton");
hideShowButton.onclick = function() {
var allImages = { left: "left", center: "middle", right: "right" };
if(document.getElementById("michelangelo").style.visibility == 'visible') {
for (var image in allImages) {
document.getElementById(allImages[image]).style.visibility = 'hidden';
}
document.getElementById("hideShowButton").innerHTML = "Hide";
}
}
</script>
'のdocument.getElementById(allImages [画像を助けます]) 'は、要素を取得しません - a)このメソッドは文字列を要求します、b)単一の要素のみを返します、そしてc)allImagesオブジェクトに含まれるIDを持つ画像がないので、メソッドがこのような任意のオブジェクトを受け入れるなら、何も見つけられません。 document.querySelectorAllを使用してみて、画像がすべて共有するクラスを与えてください。次に、そのクラスの要素を非表示にして、必要な特定のものを再度表示することができます。 https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll – ADyson
元の質問を削除しないでください。そうしないと、将来他の人に役立つことはありません。 – Buddy