最新の記述式ではなく、昔の書き方だとこんな感じでしょうか
最新の記述だと、[].forEach.call?? ()=>?? x=>?? でわけわからないと思いますw
イベントリスナではなく、初心者の方でもわかりやすいイベントハンドラで書くとこうなります。
関数の引数1つ目には this でこの i 要素を指定して、2つ目の引数には、変更したい Font Awesome のクラス名を指定します。
fontawesomeChange関数は toggle関数で 交互にクラス名を変更しているだけです。
HTML
1<i class="fab fa-twitter" onclick="fontawesomeChange( this, 'fa-twitter-square' )"></i>
2
JavaScript
1function fontawesomeChange( element, changeClassName ) {
2 element.classList.toggle(changeClassName);
3}
1回きりなら、引数追加して
HTML
1<i class="fab fa-twitter" onclick="fontawesomeChange( this, 'fa-twitter', 'fa-twitter-square' )"></i>
JavaScript
1function fontawesomeChange( element, oldClassName, changeClassName ) {
2 element.classList.replace( oldClassName, changeClassName );
3}