前提
・複数の要素に同じ処理と各々別の処理をしたい
・別の処理はfor文で処理
同じ処理の実行場所で、以下の2つに違いはありますか?(処理の速度・可読性など)
①for文内で共通のクラス操作
②for文の外で共通のクラス操作
該当のソースコード
HTML
1<button class="sec-1-btn" onclick="secBtn()">Section 1</button> 2<div class="select q-a">Question A</div> 3<div class="select q-b">Question B</div> 4<div class="select q-c">Question C</div>
①for文の中で共通のクラス操作
JavaScript
1const array1 = ['a','b','c'] 2function secBtn(){ 3 for (const value of array1) { 4 $(".q-"+ value).addClass('red'); //or $(".select").addClass('red'); 5 $(".q-"+ value).data('value' ,value ); 6 } 7};
②for文の外で共通のクラス操作
JavaScript
1const array1 = ['a','b','c'] 2function secBtn(){ 3 $(".select").addClass('red'); 4 for (const value of array1) { 5 $(".q-"+ value).data('value' ,value ); 6 } 7};
q-aかつq-bのクラスをもつ場合data-valueは何になる想定でしょうか?
はい、deta属性は以下になる想定です↓
<div class="select q-a" data-value="a">Question A</div>
<div class="select q-b" data-value="b">Question B</div>
<div class="select q-c" data-value="c">Question C</div>
q-aかつq-bとは以下のようなイメージです。
<div class="select q-a q-b" data-value="a">Question</div>
<div class="select q-a q-b" data-value="b">Question</div>
<div class="select q-a q-b" data-value="a,b">Question</div>
クラスで処理する限り常についてくる問題です
data-valueはどうなるのが正解でしょうか?
q-aかつq-bは絶対に発生ししないという運用ルールなのでしょうか?
仰るようにq-aかつq-bは絶対に発生ししないという運用ルールになります!
回答2件
あなたの回答
tips
プレビュー