お世話になります。
.close
をクリックしたときに、その先祖の.area
のid
の最後の数字を取得し、それと同じ数字の#message
を非表示にしようと考えています。
たとえば#area2
にある.close
をクリックしたら、#message2
が非表示になるという感じです。
html
1<section> 2 <div id="area1" class="area"> 3 <span class="close">close</span> 4 </div> 5 <div id="area2" class="area"> 6 <span class="close">close</span> 7 </div> 8</section> 9 10<p id="message1">message1</p> 11<p id="message2">message2</p>
そこで次のようなコードを考えたのですが、function Close()
でvar num
を定義しようとしてもこの時点では$(this)
がないために、先祖の.area
のid
を拾うことができません。
javascript
1function Close(){ 2 var num = $(this).closest('.area').attr('id').slice(-1); 3 $('#message'+num).fadeout(); 4} 5 6$('.close').on('click', function(){ 7 Close(); 8}); 9
このような場合、JavaScriptはどのように書けばいいでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/12 01:38 編集
2018/11/12 01:41
2018/11/12 01:44 編集
2018/11/12 01:48
2018/11/12 02:39
2018/11/12 02:54 編集
2018/11/12 03:41