ProgateでjQueryを学んでおります。
アコーディオンを実装しておりますが、以下script.jsにてfind('.answer')のときとfind('span')のときがあり、ドットをつけるときとつけない時の違いがわかりません。
勘所だとタグの場合は必要なくanswerがclassではなくIDなら#answerになるのかなと思ってますがいかがでしょうか。
また、上記のとおりだとしても、script2.jsだとfindとaddClassでドットがついたりつかなかったりしていて、こちらは上記とは別の考え方が必要そうですが、どのように理解したらよろしいでしょうか。
HTML
<div class="faq-wrapper"> <div class="container"> <div class="heading"> <h2>FAQ</h2> </div> <div class="faq"> <ul id="faq-list"> <li class="faq-list-item"> <h3 class="question">Progateの公式キャラクターはなんですか?</h3> <span>+</span> <div class="answer"> <p>にんじゃわんこといいます。忍者の格好をしたわんこです。ネコではありません。</p> </div> </li> <li class="faq-list-item"> <h3 class="question">にんじゃわんこはオスですか?それともメスですか?</h3> <span>+</span> <div class="answer"> <p>にんじゃわんこはオスです。</p> </div> </li> <li class="faq-list-item"> <h3 class="question">にんじゃわんこは何歳ですか?</h3> <span>+</span> <div class="answer"> <p>にんじゃわんこは14歳です。</p> </div> </li> </ul> </div> </div> </div>
script.js
//アコーディオン $('.faq-list-item').click(function(){ var $answer = $(this).find('.answer'); if($answer.hasClass('open')){ $answer.removeClass('open'); $answer.slideUp(); $(this).find('span').text('+'); } else{ $answer.addClass('open'); $answer.slideDown(); $(this).find('span').text('-'); } });
script2.js
//アコーディオン $('.lesson').hover( function() { $(this).find('.text-contents').addClass('text-active'); }, function() { $(this).find('.text-contents').removeClass('text-active'); } );

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/26 14:12