DOM操作に使用するCSS主要セレクタ一覧

jsコード DOM操作

本記事では、JavaScriptによるDOM操作で頻繁に使用される主要なCSSセレクタを一覧化し、基本的な構文と使用例を示します。

最も基本的なセレクタ(4種)

要素セレクタ

要素セレクタは、特定のHTMLタグ名にスタイルを適用します。

基本構文
タグ名 {
  属性: ;
}
使用例
p {
  color: green;
  font-weight: bold;
}

classセレクタ

classセレクタは、指定したclass名を持つ要素スタイルを適用します。
classセレクタで指定するには、ドット「.」記号を使用します。

基本構文
.class名 {
  属性: ;
}
使用例
.my-class {
  color: green;
  font-weight: bold;
}

IDセレクタ

IDセレクタは、指定したIDを持つ要素スタイルを適用します。
IDセレクタで指定するには、シャープ「#」記号を使用します。

基本構文
#id {
  属性: ;
}
使用例
#my-id {
  color: green;
  font-weight: bold;
}

複数要素を指定するセレクタ

複数の要素にスタイルを適用したい場合、カンマ「,」記号で区切って複数のセレクタを指定します。

基本構文
セレクタ1, セレクタ2, セレクタ3[, ...] {
  属性: ;
}
使用例
/* pタグと、my-idというIDを持つ要素、my-classというclassを持つ要素にスタイルを適用 */
p, #my-id, .my-class {
  color: green;
  font-weight: bold;
}

親子関係セレクタ(5種)

親セレクタ

これはquerySelectorメソッドの引数ではなく、closestというメソッドを使用するJavaScript特有のセレクタです。

基本構文
要素.closest( セレクタ )
使用例
/* closest-elemというIDを持つ要素に最も近い親 */
element.closest( '#closest-elem' )

子孫セレクタ

親セレクタの後ろに半角スペースを開け、その後に子孫セレクタを記述することで、親要素の下にある指定要素すべてにスタイルを適用します。

基本構文
親要素 子孫要素 {
  属性: ;
}
使用例
/* my-idというIDを持つ要素の下にあるp要素すべて */
#my-id p {
  color: green;
  font-weight: bold;
}

子セレクタ

親セレクタ > 子孫セレクタ」の形式で記述することにより、親要素の直接の子要素にスタイルを適用します。

基本構文
親要素 > 子要素 {
  属性: ;
}
使用例
/* my-idというIDを持つ要素の直接の子要素としてのp */
#my-id > p {
  color: green;
  font-weight: bold;
}

隣接兄弟セレクタ

セレクタ1 + セレクタ2」 の形式で記述することにより、セレクタ1の直後(階層の上下ではないことに注意)にあるセレクタ2にスタイルを適用します。

基本構文
セレクタ1 + セレクタ2 {
  属性: ;
}
使用例
/* user-nameというIDを持つ要素の直後にあるli */
#user-name + li {
  color: green;
}

兄弟セレクタ

セレクタ1 ~ セレクタ2」 の形式で記述することにより、セレクタ1の後(階層の上下ではないことに注意)にあるすべてのセレクタ2にスタイルを適用します。

なお、「~」この記号は「チルダ」と読みます。

基本構文
セレクタ1 ~ セレクタ2 {
  属性: ;
}
使用例
/* user-nameというIDを持つ要素の後にあるすべてのli */
#user-name ~ li {
  color: green;
}

属性セレクタ

idやclassなどが付与されておらず、タグ名では指定範囲が広すぎる場合などに、HTMLタグの属性で指定できる「属性セレクタ」が便利です。

属性セレクタは、角カッコ「[]」を使用します。

基本構文
セレクタ[属性名:値] {
  属性: ;
}
使用例
/* inputタグで、name属性が「user-name」 */
input[name="user-name"] {
  color: green;
}

疑似クラス(2種)

特定の状態位置にある要素にスタイルを適用するセレクタを「疑似クラス」と呼びます。

:hover

セレクタで指定した要素にマウスをホバー(マウスを乗せる)状態にしたタイミングでスタイルを適用します。

基本構文
セレクタ:hover {
  属性: ;
}
使用例
/* my-idというIDを持つ要素にマウスをホバーした */
#my-button:hover {
  color: green;
  font-weight: bold;
}

:nth-child(n)

セレクタで指定した要素の「n番目の位置」にある子要素にスタイルを適用します。

なお、「n」は0番目からではなく1番目から数えます。

基本構文
セレクタ:nth-child(n) {
  属性: ;
}
使用例
/* ulの中で2番目のli */
ul li:nth-child(2) {
  color: green;
  font-weight: bold;
}

最後に

本記事についての質問、誤りの指摘、ご意見ご感想などありましたら、ぜひコメント頂ければ幸いです。

最後までお読みいただき、ありがとうございました。

『詳説 JavaScript』メニューに戻る

コメント

タイトルとURLをコピーしました