質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1996閲覧

jQueryのアコーディオン機能にて$answerに対してhasClassメソッドを使用してくださいというエラーメッセージが表示される。

kinu221

総合スコア26

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2017/02/07 12:18

編集2017/02/07 12:38

###前提・実現したいこと
jQueryを使用して、アコーディオン機能を作成しています。

###発生している問題・エラーメッセージ
しかし、$answerに対してhasClassメソッドを使用してくださいというエラーメッセージが表示されます。

###該当のソースコード

jQuery

1$(function() { 2 3 $("#login-show").click(function() { 4 $("#login-modal").fadeIn(); 5 }); 6 7 $(".signup-show").click(function() { 8 $("#signup-modal").fadeIn(); 9 }); 10 11 $('.close-modal').click(function() { 12 $('#login-modal').fadeOut(); 13 $('#signup-modal').fadeOut(); 14 }); 15 16 $(".lesson-hover").hover( 17 function() { 18 $(this).find(".text-contents").addClass("text-active"); 19 }, 20 function() { 21 $(this).find(".text-contents").removeClass("text-active"); 22 } 23 ); 24 25 $(".faq-list-item").click(function() { 26 var $answer=$(this).find(".answer"); 27 if($('$answer').hasClass('open')){ 28 $(this).find("$answer").removeClass("open"); 29 }else{ 30 $(this).find("$answer").addClass("open"); 31 } 32 }); 33 34 35}); 36 37CSS 38body { 39 margin: 0; 40} 41 42a { 43 text-decoration: none; 44} 45 46.top-wrapper { 47 padding: 180px 0 100px 0; 48 background-image: url(https://prog-8.com/images/html/advanced/top.png); 49 background-size: cover; 50 color: white; 51 text-align: center; 52} 53 54.container { 55 width: 1170px; 56 padding: 0 15px; 57 margin: 0 auto; 58} 59 60.top-wrapper h1 { 61 opacity: 0.7; 62 font-size: 45px; 63 letter-spacing: 5px; 64} 65 66.top-wrapper p { 67 opacity: 0.7; 68 font-size: 14px; 69 margin-bottom: 35px; 70} 71 72.signup { 73 background-color: #239b76; 74} 75 76.facebook { 77 background-color: #3b5998; 78 margin-right: 10px; 79} 80 81.twitter { 82 background-color: #55acee; 83} 84 85.btn { 86 padding: 8px 24px; 87 color: white; 88 display: inline-block; 89 opacity: 0.8; 90 border-radius: 4px; 91 cursor: pointer; 92} 93 94.btn:hover { 95 opacity: 1; 96} 97 98.fa { 99 margin-right: 5px; 100} 101 102header { 103 height: 65px; 104 width: 100%; 105 background-color: rgba(34,49,52,0.9); 106 position :fixed; 107 top: 0; 108 z-index: 10; 109} 110 111.logo { 112 width: 124px; 113 margin-top: 20px; 114} 115 116.header-left { 117 float: left; 118} 119 120.header-right { 121 float: right; 122 background-color: rgba(255,255,255,0.3); 123 transition: all 0.5s; 124} 125 126.header-right:hover { 127 background-color: rgba(255,255,255,0.5); 128} 129 130.header-right .login { 131 line-height: 65px; 132 padding: 0 25px; 133 color: white; 134 cursor: pointer; 135 display: block; 136} 137 138/*モーダル*/ 139.login-modal-wrapper, .signup-modal-wrapper { 140 display: none; 141 position: fixed; 142 top: 0; 143 right: 0; 144 bottom: 0; 145 left: 0; 146 background-color: rgba(0, 0, 0, 0.6); 147 z-index: 100; 148} 149 150.modal { 151 position: absolute; 152 top: 20%; 153 left: 34%; 154 background-color: #e6ecf0; 155 padding: 20px 0 40px; 156 border-radius: 10px; 157 width: 450px; 158 height: auto; 159 text-align: center; 160} 161 162.fa-times { 163 position: absolute; 164 top: 12px; 165 right: 12px; 166 color: rgba(128, 128, 128, 0.46); 167 cursor: pointer; 168} 169 170#signup-form, #login-form { 171 width: 100%; 172} 173 174#signup-form h2, #login-form h2 { 175 color: #5f5d60; 176 letter-spacing: 1px; 177 margin-bottom: 40px; 178} 179 180#signup-form input, #login-form input { 181 width: 320px; 182 margin-bottom: 20px; 183 font-size: 12px; 184 padding: 12px 12px; 185 border: 1px solid #d0d5d8; 186 border-radius: 5px; 187} 188 189#submit-btn { 190 display: inline-block; 191 padding: 14px 140px; 192 background-color: #5dca88; 193 border: none; 194 border-radius: 3px; 195 color: white; 196 margin: 10px auto; 197 cursor: pointer; 198} 199 200.lesson-wrapper { 201 height: 500px; 202 padding-bottom: 80px; 203 background-color: #f7f7f7; 204 text-align: center; 205} 206 207.heading { 208 padding-top: 60px; 209 padding-bottom: 30px; 210 color: #5f5d60; 211} 212 213.heading h2 { 214 font-weight: normal; 215} 216 217.lesson { 218 float: left; 219 width: 25%; 220} 221 222.lesson-icon { 223 position: relative; 224 width: 70%; 225 margin: 0 auto; 226} 227 228.lesson-icon p { 229 position: absolute; 230 top: 75px; 231 width: 100%; 232 color: white; 233} 234 235.text-contents { 236 margin: 3% auto; 237 width: 80%; 238 font-size: 12px; 239 color: #b3aeb5; 240 display: none; 241} 242 243.text-active { 244 display: block; 245} 246 247/*faq wrapper*/ 248.faq-wrapper { 249 background-color: #e6ecf0; 250 text-align: center; 251 padding-bottom: 80px; 252 color: #5f5d60; 253} 254 255#faq-list { 256 width: 500px; 257 margin: 0 auto; 258 padding: 0; 259 list-style: none; 260} 261 262.faq-list-item { 263 margin:10px; 264 border-bottom:1px solid #ccc; 265 position:relative; 266 cursor:pointer; 267 text-align: left; 268} 269 270.faq-list-item h3 { 271 font-size: 14px; 272} 273 274.faq-list-item span { 275 position:absolute; 276 top:0; 277 right:5px; 278 color:#ccc; 279 font-size:13px; 280} 281 282.answer { 283 font-size: 12px; 284 padding: 5px 0px; 285 margin-bottom: 15px; 286 display: none; 287} 288 289 290.message-wrapper { 291 border-bottom: 1px solid #eee; 292 padding-bottom: 80px; 293 text-align: center; 294} 295 296.message-wrapper .heading h3 { 297 font-weight: normal; 298} 299 300.message { 301 padding: 15px 40px; 302 background-color: #5dca88; 303 cursor: pointer; 304 box-shadow: 0px 7px #1a7940; 305} 306 307.message:active { 308 position: relative; 309 top: 7px; 310 box-shadow: none; 311} 312 313footer img { 314 width: 125px; 315} 316 317footer p { 318 color: #b3aeb5; 319 font-size: 12px; 320} 321 322footer { 323 padding-top: 30px; 324}

###試したこと
以下を試しましたが、エラーは解消されませんでした。
①if文で使用しているhasClassの見直し。
②$answerにhasClassメソッドの代入。(ex.$answer=('$answer').hasClass('open'))

###補足情報(言語/FW/ツール等のバージョンなど)
hasClassメソッドの理解不足等で起きていると思われますが、解決が困難なためアドバイスを宜しくお願いいたします。
また、このようなエラーメッセージを自力で取り除くことができるためにはどのようなスキルが必要なのかもご教授をお願いいたします。
他のファイル情報が必要であれば、連絡をください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

s8_chu

2017/02/07 12:19

HTMLやCSSを利用しているならば、それを追記するとより回答が得られやすくなると思います。
guest

回答1

0

ベストアンサー

$answer.hasClass('open')

と言う書き方にしてください。
せっかく変数代入しているのに無意味な書き方になっています。

投稿2017/02/07 12:29

yamato_hikawa

総合スコア2092

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kinu221

2017/02/07 12:42

ご回答ありがとうございます。 無事に解決できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問