私はカスタムアコーディオンを作成していましたが、問題はアコーディオンのプラス記号をクリックするとプラスとマイナスのアイコンが必要ですアコーディオンが開き、マイナス記号でプラス記号が変化し、その逆もまたあります。アクティブなアコーディオンでは、プラス記号はすべてではなく変更されます。 https://jsfiddle.net/gncrhc5a/:私は、最初のアコーディオンの変更のプラス記号は、残りは同じ私はどのようにsudoクラスのプロパティを変更できますか:beforeと:after in javascript
HTML
<h2>Accordion</h2>
<button class="accordion">Section 1</button>
<div class="panel">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<button class="accordion">Section 2</button>
<div class="panel">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<button class="accordion">Section 3</button>
<div class="panel">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
JS
<script>
var acc = document.getElementsByClassName('accordion');
var i;
for(i=0;i < acc.length;i++){
acc[i].onclick = function(){
var panel = this.nextElementSibling;
if(panel.style.display =="block"){
panel.style.display ="none";
}
else{
panel.style.display ="block";
panel.class
}
}
}
</script>
に
button.accordion {
background-color: #eee;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 15px;
transition: 0.4s;
margin-bottom:5px;
}
button.accordion.active, button.accordion:hover {
background-color: #ddd;
}
button.accordion:before{
content: '\002B';
font-size: 13px;
color: #777;
font-weight: bold;
float: right;
margin-left: 5px;
}
div.panel {
padding: 4px 20px;
display: none;
background-color: #ddd;
margin-bottom:10px;
}
フィドルのCSSをままになります、私は最初のアコーディオンをクリックします意味します
が、私は気にしないならば、あなたも –
参照をapppericiatedますあなたのコードでUDATEフィドルをplzzすることができます....ないjqueryのではJavaScriptでそれを必要とする[jQueryの擬似要素を選択してください:](http://stackoverflow.com/questions/27254674/jquery-select-pseudo-element-after/) – guest271314
@ guest271314あなたは私が簡単にそれを得ることができるように私のフィドルを更新してくださいできます –