私はdiv
コンテナを持ち、子は4個ありますp
です。 mouseenter
p
の場合、親コンテナにクラスを追加します。しかし、私はmouseenter
と別のp
まで、クラスを親コンテナに残したいと思います。どうすれば純粋なJavascriptでこれを行うことができますか?on mouseenter、クラスを追加しますが他のクラスはすべて削除してください
私はmouseout
を使用しようとしましたが、p
要素を終了するとすぐにクラスをコンテナから削除します。クラスが追加される前に私はまた以下を試しましたが、私はまだ私が探している効果を得ていません。
container.classList.remove("p" + i + "-transform");
var container = document.querySelector(".container");
var p = document.querySelectorAll("p");
var enterMouse = function(i) {
p[i].addEventListener("mouseenter", function() {
if (i === 0) {
container.classList.remove("p" + i + "-transform"); // doesn't work
container.classList.add("p0-transform");
} else if (i === 1) {
container.classList.remove("p" + i + "-transform"); // doesn't work
container.classList.add("p1-transform");
} else if (i === 2) {
container.classList.remove("p" + i + "-transform"); // doesn't work
container.classList.add("p2-transform");
} else if (i === 3) {
container.classList.remove("p" + i + "-transform"); // doesn't work
container.classList.add("p3-transform");
}
});
}
for (i = 0; i < p.length; i++) {
enterMouse(i);
}
.p0-transform {
background-color: red;
}
.p1-transform {
background-color: green;
}
.p2-transform {
background-color: orange;
}
.p3-transform {
background-color: blue;
}
<div class="container">
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
</div>
の要素の数が – mhodges
@mhodgesを高め、これはうまくスケールしません:。クラスは'であることを考えると私はそれに基づいている、それは小さな問題ですが、私はその可能性に対処するためにそれを更新します。 –
本当にありがとうございます:) – giantqtipz