この記事の紹介

  • 文字列をクリックしたら文字色が変わる
  • クリックのたびに交互に色を変える
  • JavaScriptとjQueryでの両方でのコードの書き方
<!DOCTYPE html>
<html>
  <head>
    <title>Parcel Sandbox</title>
    <meta charset="UTF-8" />
    <link rel="stylesheet" href="style.css" />
    <script src="https://code.jquery.com/jquery-3.4.1.js"></script>
  </head>

  <body>
    <p id="p" id="e">文字色</p>
    <script src="src/index.js"></script>
  </body>
</html>

まずは、HTMLでブラウザに表記される文字を作成します
CSSファイルも用意します

id名適当で申し訳ないです id名は大切です!
.is-active {
  color: red;
}

jQuery toggleClassメソッド

$("p").on('click',function(){
  $(this).toggleClass("is-active")
})
toggleClass()

クラス要素のつけ外し

$('要素名').toggleClass('クラス名');

ここでは、clickイベントで使用しているので、クリックされる度にメソッドが発動します
classはcssで宣言しています

JavaScriptでの記述

jQueryで書けてそれでよければ問題ないのですが、JavaScriptで書いてみたい人もいるはずなので参考にどうぞです!!

まず、自分が試したこととして...

document.getElementById('p').style.color = "red"

と、書いてみました
結果→文字色が赤くなっただけで、jQueryで書いたようにクリックイベントが発動しません
この書き方では、idを取得し、styleで'p'をredに変えただけですね^^;

onclick

onclickを使ってイベントを発生させてみましょう

document.getElementById("p").onclick = () => {
  ここにクリックしたら発生させる処理を記述します
};
classList.toggle()
document.getElementById("p").onclick = () => {
  document.getElementById("p").classList.toggle("is-active");
};

このように書けばp要素をクリックする度にclassが切り替わり、文字色が黒⇆赤に切り替わります

おすすめの記事