質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

317閲覧

奇数番目に処理を適用する

toll_tree

総合スコア199

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2019/05/31 06:55

下記コードにおいて、お聞きしたい部分がございます。

html

1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="utf-8"> 5 <title>Javascript Basics</title> 6 </head> 7 <body> 8 <h1>Title</h1> 9 <li>item</li> 10 <li>item</li> 11 <li>item</li> 12 <li>item</li> 13 14 <script src="js/main.js"></script> 15 <!-- <script src="js/duplicate.js"></script> --> 16 </body> 17</html>

js

1'use strict'; 2{ 3 4 5 6document.querySelector('h1').textContent = 'H1!'; 7 8document.querySelectorAll('li:nth-child(odd)').forEach(li => { 9 li.textContent = 'li!'; 10}) 11 12} 13

コードの実行結果は以下の通りです。
イメージ説明

お聞きしたい箇所は、javascriptファイルにおいて、「('li:nth-child(odd)')」このように指定した場合、奇数番目に処理を施すものと認識しているのですが、何故偶数番目に、「 li.textContent = 'li!';」こちらの処理がなされているのでしょうか?
どなたか、ご助言頂けましたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

回答:
h1も含むため。nth-childの仕様をご理解ください。

抜粋:

nth-child()擬似クラスは、それの兄弟の中での要素の位置をあらわす数に基づいて要素を一致させるために使用されます。具体的には、その数はドキュメントツリー(-1)内の要素の前に存在する兄弟の数(n番目)をあらわします。

抜粋元サイト:Colis様サイト

投稿2019/05/31 07:05

kanimaru

総合スコア1013

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toll_tree

2019/05/31 07:08

ご回答ありがとうございます。 ulでliタグを囲みましたら、解決しました。
guest

0

ベストアンサー

h1とliを同じレベルにおくというHTMLの文法がおかしいのはおいておくとして

nth-childは、兄弟要素の中でn番目ということなので
h1が存在すれば1個目のliは2番目になります

投稿2019/05/31 07:04

yambejp

総合スコア114779

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toll_tree

2019/05/31 07:08

ご回答ありがとうございます。 ulでliタグを囲みましたら、解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問