###前提・実現したいこと
リストの親(.parent
)にホバーしたらそれを示す「is_hover
」を付与しています。
その子(a
)にホバーしたときに、親から「is_hover
」を取り外したいです。
###該当のソースコード
こちらがHTMLです。
html
1<ul> 2 <li> 3 <div class="parent"> 4 <p>p1</p> 5 <a>a1</a> 6 </div> 7 </li> 8 <li> 9 <div class="parent"> 10 <p>p2</p> 11 <a>a2</a> 12 </div> 13 </li> 14</ul> 15
親に「is_hover」を付与するコードです。
js
1$(document).on("mouseover","li > .parent", function(){ 2 $(this).addClass("is_hover"); 3}); 4$(document).on("mouseout","li > .parent", function(){ 5 $(this).removeClass("is_hover"); 6});
###試したこと
ひとまずできまして、子を.parent > a
のように指定している方法です。
js
1$(document).on("mouseover",".parent > a", function(e){ 2 e.stopPropagation(); 3});
しかし実際には子にはa
やらspan
やらarticle
やら、、と子はたくさんいるので、上のような方法では見栄えが悪く感じます。
このように1つずつ指定しなければならないためです。
js
1$(document).on("mouseover",".parent > a, .parent > span, .parent > article", function(e){ 2 e.stopPropagation(); 3});
そこでお聞きしたいのですが、もう少し良い方法を伝授していただくことはできませんでしょうか?
それともこのような方法は普通なのでしょうか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/13 02:39