前提
独学の初心者です。
JavaScriptの勉強で行き詰まりました。
「すべてを閉じる」のリンクをクリックしても<p>の部分が消えてくれません。
開閉関数の所に問題があるのは分かるのですが、何回見直しても分からないです。
実現したいこと
「すべてを閉じる」をクリックすれば<p>の部分を表示されなくするようにしたいです。
発生している問題・エラーメッセージ
ncaught ReferenceError: changeAll is not defined
at HTMLAnchorElement.closeAll (lesson19.html:26:13)
closeAll @ lesson19.html:26
###問題のエラーコード
<html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>10日で覚えるJavaScript</title> <link rel="stylesheet" href="chap5.css" type="text/css"> <script> window.addEventListener('load', function(event){ var elem = document.getElementById('lnk_closeAll') elem.addEventListener('click',closeAll, false); var elem = document.getElementById('lnk_openAll'); elem.addEventListener('click',openAll,false); } , false); //開閉関数 function openAll(event){ event.preventDefault(); cangeAll(false); } function closeAll(event){ event.preventDefault(); changeAll(true); } //trueならすべて閉じる、falseならすべて展開 function cangeAll(close){ var titles = document.getElementsByTagName('h2'); for(var i=0; i<titles.length; i++){ var parent = titles[i].parentNode; var topics = parent.getElementsByTagName('div'); if(close){ topics[0].className = 'close'; }else{ topics[0].className = 'open'; } } } </script> </head> <body> <div id="wapper"> <h1>よくある質問と回答</h1> <p> <a id="lnk_closeAll" href="#">すべて閉じる</a> <a id="lnk_openAll" href="#">すべて展開</a> </p> <div id="topic1"> <h2>電源ランプが赤く光り、しばらくすると製品が動かなくなります。</h2> <div class="close"> <p>電源ランプが赤く光るのは内臓バッテリーが消耗していることを示しています。 コンセントを接続して充電してください。</p> </div> </div> <div id="topic2"> <h2>ときどきブザーが鳴りますが、問題ないでしょうか?</h2> <div class="open"> <p>本製品の長時間利用により低温やけどを負うことがあります。 長時間使い続けることをユーザーに伝えるため、 4時間15分32秒ごとにピッピッという警告音を鳴らすようにしております。</p> </div> </div> <div id="topic3"> <h2>製品を床に落としてしてしまいました。問題ないでしょうか?</h2> <div class="open"> <p>本製品は高さ1メートルからの落下テスト10万回をパスしております。 ただし、1メートル以上の高さから落下した場合は、 故障する可能性がありますので、お近くのサービスセンターにご相談ください。</p> </div> </div> </div> </body> </html>

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2022/09/24 13:18
退会済みユーザー
2022/09/24 13:20