つい最近プログラミングを学習し始めた初学者です。
JavaScriptを学習しているのですが、タブメニューを作る際にJavaScriptにてquerySelectorAllで値を取得したところ、下記のような指摘を受けました。
「querySelectorAllの値の取得方法ですと、htmlの構造に依存してしまいます。
getElementByIdを使用すると良いでしょう」
自分なりにHTMLの構造に依存するということはどういうことなのかを調べた結果、要は疎結合を意識したコーディングをしろ、ということなのではないかと思うのですが、実際これはどういう意味なのでしょうか?
一度に処理すると不具合が出るから、一気に処理せずにid指定で一つずつ動作するように書け、ということなのでしょうか?
JavaScript
1// 宣言 2const menuItems =document.querySelectorAll('.menu li a'); 3const contents =document.querySelectorAll('.contents'); 4// メニュー部分に対する処理 5menuItems.forEach(item => { 6 item.addEventListener('click', e => { 7 menuItems.forEach(item => { 8 item.classList.remove('active'); 9 }) 10 item.classList.add('active'); 11 contents.forEach(content => { 12 content.classList.remove('active'); 13 document.getElementById(item.dataset.id).classList.add('active'); 14 }); 15 }); 16});
回答2件
あなたの回答
tips
プレビュー