クラスにイベントリスナーを適用する際に問題があります。私はIDを使用しようとすると、それは動作しますが、クラスで試しても何も起こりません。 私は4つのdivを持っています。私はクリックしたものを変更したいが、変更せずに他の3つを保持する。 可能ですか?Javascript:クラスにイベントリスナーを適用できませんか?
HTML
<div class="card">
- 6 pièces, dont 3 aveugles.
- Cuisine - électroménagers intégrés.
- 2 salles de bains modernes.
</div>
<div id="ui" class="card">
- 6 pièces, dont 3 aveugles.
- Cuisine - électroménagers intégrés.
- 2 salles de bains modernes.
</div>
<div class="card">
- 6 pièces, dont 3 aveugles.
- Cuisine - électroménagers intégrés.
- 2 salles de bains modernes.
</div>
<div class="card">
- 6 pièces, dont 3 aveugles.
- Cuisine - électroménagers intégrés.
- 2 salles de bains modernes.
</div>
CSS
.card {
height: 100px;
width: 245px;
float: left;
box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
font-size: 0.85em;
line-height: 1.5em;
margin: 15px;
overflow: hidden;
border-radius: 5px;
}
.expandCard {
height:500px;
width: 245px;
float: left;
box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
font-size: 0.85em;
line-height: 1.5em;
margin: 15px;
border-radius: 5px;
}
JS 、これは動作しません
これはID( "UI") を持つ要素のために働くvar teste = document.getElementsByClassName("card");
teste.addEventListener("click", function changeSize() {
teste.className = "expandCard";
});
var teste = document.getElementByID("ui");
teste.addEventListener("click", function changeSize() {
teste.className = "expandCard";
});
'getElementsByClassName'は、ノード・リストではなく、個々のノードを返します。 –
"getElementsByClassName"はHTMLコレクションを返します –
要素が何であるか、そしてクラスとIDが要素を見つける方法であることを知る必要があります。 – Quentin