以下の例では、アラートに表示するオプションをクリックします。私はどのクラスがクリックされたかを判断するためにswitch文を使用しようとしています。私のdivは、それぞれが複数のクラスを含んでいない場合、私の例は動作します。私はスイッチのステートメントでclassList.contains
を使ってみましたが役に立たなかった。 switch文の使用を変更せずにこれを動作させる方法はありますか?要素に複数のクラスがある場合のswitch文のclassNameの確認方法
function optionClicked(){
switch(this.className){
case 'option1':
alert('user clicked option1');
break;
case 'option2':
alert('user clicked option2');
break;
case 'option3':
alert('user clicked option3');
break;
}
}
function optionTabs(){
var optionTabs = document.querySelectorAll('div'),
i = 0;
for(i; i < optionTabs.length; i++){
optionTabs[ i ].addEventListener('click', optionClicked);
}
}
optionTabs();
html {
background-color: #eee;
font-family: sans-serif;
}
div {
cursor: pointer;
margin: 1.1rem;
padding: 1rem;
background-color: #fff;
letter-spacing: 0.05rem;
border-radius: 1rem;
}
div:hover {
background-color: #555;
color: #eee;
}
<div class="option1 more">option 1</div>
<div class="option2 classes">option 2</div>
<div class="option3 here">option 3</div>
さてあなたは試みることができる[ ''スイッチ(真)](https://stackoverflow.com/questions/14118996/is-switchtrue-valid-javascript)」トリック "、クラス条件としてclassList.contains()を入れてください... – CBroe