この記事の紹介
- 文字列をクリックしたら文字色が変わる
- クリックのたびに交互に色を変える
- 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が切り替わり、文字色が黒⇆赤に切り替わります


