以下のようなHTMLのコードがあります。answerboxの中にselectedが含まれているとこの問題は選択済みという処理をしたいです。
HTML
1 <div class="dom"> 2 3 <div class="questionbox"> 4 5 <div class="questiondiv"> 6 <p id="" div="question">Q. I've ____ studying English for 7 years.</p> 7 </div> 8 9 <div class="answerbox"> 10 <span class="answer selected">1.have</span> 11 <span class="result worng">...WRONG</span> 12 </div> 13 14 <div class="answerbox"> 15 <span class="answer">2.had</span> 16 <span class="result worng">...WRONG</span> 17 </div> 18 19 <div class="answerbox"> 20 <span class="answer">3.been</span> 21 <span class="result correct">...CORRECT</span> 22 </div> 23 24 <div class="answerbox"> 25 <span class="answer">4.done</span> 26 <span class="result worng">...WRONG</span> 27 </div> 28 29 </div> 30 31 </div>
その判定として以下のfunctionを作成しました。
js
1function checkClick(){ 2 $('.answerbox').each(function(index, value) { 3 if ($(value).find('.aaaa')) { 4 console.log('Has been selected'); 5 } else { 6 console.log('Not yet'); 7 } 8 }) 9 }
if ($(value).find('.aaaa'))の所には本来selectedが入るべきですがこれでもtrueとなりHas been selectedが表示されてしまいます。どの記述が間違えていますでしょうか。何をしてもtrueになります。
以下を試しましたが、selectedを挿入後もNot yet になります。
JS
1 function checkClick() { 2 $('.answerbox').each(function(value) { 3 if ($(value).find('.selected').size()) { 4 console.log('Has been selected'); 5 } else { 6 console.log('Not yet'); 7 } 8 }) 9 } 10 11 function checkClick() { 12 $('.answerbox').each(function(value) { 13 if ($(value).find('.selected').length) { 14 console.log('Has been selected'); 15 } else { 16 console.log('Not yet'); 17 } 18 }) 19 } 20 21 function checkClick() { 22 $('.answerbox').each(function(value) { 23 if ($(value).find('.selected'[0]) { 24 console.log('Has been selected'); 25 } else { 26 console.log('Not yet'); 27 } 28 }) 29 }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。