前提・実現したいこと
よくあるハンバーガーメニューの作成で行き詰っています。
toggleClassで、要素をクリックするとその親要素にクラスが付与されるという状況を作りたいです。
➡#SP-menuをクリックすると#Right-menuに.openが付与される
発生している問題・エラーメッセージ
toggleClassが効きません。
F12で確認すると、クリックすると親要素に class という文字はつくのですが
肝心の class 「="open"」部分がないのです。
という状態になってしまいます。
正しくは
<div id="Right-menu" **class="open"**> <div id="SP-menu"> <span></span> <span></span> <span></span> <span class="text"></span> </div> </div>にしたいです。
該当のソースコード
HTML
1 <div id="Right-menu"> 2 <div id="SP-menu"> 3 <span></span> 4 <span></span> 5 <span></span> 6 <span class="text"></span> 7 </div> 8 </div>
jQuery
1$("#SP-menu").on('click', function() { 2 $(this).parent().toggleClass("open"); 3 });
試したこと
クラス名が競合しているのかと思い、別のものに変更しても同じ結果です。
何か見落としている箇所あればご指摘頂ければ幸いです。
状況を再現することができません。
https://codepen.io/asuchi0819/pen/qBWwxYP
一部わかりやすくするためにCSSを適用させています。
何故でしょう・・・ほかの要素で競合しているのかもしれないです。
ありがとうございます。
まさかjQueryを読み込んでいないってことはないですよね?
すぐ上で読み込んでいるんです・・・。
bodyの閉じタグの直前に書いて見たらどうでしょうか?
HTMLを質問で記載しているものだけにしてみたところ無事作動しました。
classはついてもclass名がつかないエラーというのは見たことがありませんでした。
原因箇所はまだわかっていませんが、とりあえず解決致しましたのでご報告させていただきます。
回答1件
あなたの回答
tips
プレビュー