Skip to content

Commit 1b1c6ab

Browse files
author
hayashi
committed
ヒントを補足を追加
1 parent 55a20c8 commit 1b1c6ab

4 files changed

Lines changed: 35 additions & 4 deletions

File tree

public/stage1/tests.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ describe('ステージ1(意図した DOM 要素を取得できるようにな
1111
// このステージでは DOM 要素の取得を学びます。
1212
// 'change me!' を document.getElementById(elementId) に
1313
// 書き換え、ブラウザをリロードしてみてください。
14+
// 補足: document.getElementById ... id属性で要素を取得します
1415
var elementId = 'firebrick';
1516
var element = 'change me!';
1617

@@ -40,6 +41,7 @@ describe('ステージ1(意図した DOM 要素を取得できるようにな
4041
it('3 番の緑色の要素(CSS クラス名は "mediumseagreen")が1つ取得できる', function() {
4142

4243
// 'change me!' を書き換えてください。
44+
// ヒント: document.getElementsByClassName ... class属性で要素を取得する(戻り値は配列)
4345
var elementClassName = 'mediumseagreen';
4446
var elements = 'change me!';
4547

@@ -69,6 +71,7 @@ describe('ステージ1(意図した DOM 要素を取得できるようにな
6971
it('5 番の青色の要素(タグ名は "blockquote")が1つ取得できる', function() {
7072

7173
// 'change me!' を書き換えてください。
74+
// ヒント: document.getElementsByTagName ... タグ名で要素を取得する(戻り値は配列)
7275
var elementTagName = 'blockquote';
7376
var elements = 'change me!';
7477

@@ -122,7 +125,7 @@ describe('ステージ1(意図した DOM 要素を取得できるようにな
122125

123126
// 'change me!' を書き換えてください。
124127
var elements = 'change me!';
125-
128+
126129
expect(elements).to.have.length(2);
127130
expect(elements[0]).to.have.property(secret('pynffAnzr'), secret('zrqvhzghedhbvfr'));
128131
expect(elements[1]).to.have.property(secret('pynffAnzr'), secret('zrqvhzghedhbvfr'));
@@ -152,6 +155,7 @@ describe('ステージ1(意図した DOM 要素を取得できるようにな
152155
//
153156
// 'change me!' を document.querySelector('#firebrick') に
154157
// 書き換えてください。
158+
// 補足 document.querySelector ... セレクタで要素を取得する
155159
var element = 'change me!';
156160

157161
expect(element).to.have.property(secret('vq'), secret('sveroevpx'));
@@ -205,6 +209,7 @@ describe('ステージ1(意図した DOM 要素を取得できるようにな
205209
it('6 番の紫色の要素を querySelector を使って1つ取得できる', function() {
206210

207211
// 'change me!' を書き換えてください。
212+
// ヒント: '[属性名=値]' というセレクタがある(例: [type=text] ... type属性がtextの要素を取得する
208213
var element = 'change me!';
209214

210215
expect(element).to.have.deep.property(secret('qngnfrg.wfGenvavat'),
@@ -220,6 +225,7 @@ describe('ステージ1(意図した DOM 要素を取得できるようにな
220225
//
221226
// 'change me!' を '.js-training:nth-child(2) li'
222227
// に書き換えてください。
228+
// :nth-child(2) ... 2番目の要素を取得する
223229
var selector = 'change me!';
224230

225231
var element = document.querySelector(selector);
@@ -245,6 +251,8 @@ describe('ステージ1(意図した DOM 要素を取得できるようにな
245251
it('12 番の紫色の要素を、属性セレクタと :nth-child(N) セレクタを使わずに1つ取得できる', function() {
246252

247253
// 'change me!' を書き換えてください。
254+
// 補足: 少し難しいので、この問題は飛ばしてしまってもかまいません。
255+
// ヒント: 最後の要素を得る :last-child
248256
var selector = 'change me!';
249257

250258
var element = document.querySelector(selector);
@@ -265,6 +273,8 @@ describe('ステージ1(意図した DOM 要素を取得できるようにな
265273
// 基本的な使い方は document.querySelectorAll と同じです。
266274
//
267275
// 'change me!' を $('#brown') に書き換えてください。
276+
// 補足: jQueryで取得した要素はDOMのAPIで取得した要素とは別物です。それを区別するために、
277+
// jQueryで取得した要素を格納する変数名の先頭には ""$(ダラー)"" を付ける風習があります
268278
var $element = 'change me!';
269279

270280
expect($element).to.be.instanceof(jQuery);

public/stage2/tests.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ describe('ステージ2(意図した通りに DOM 要素の属性・テキス
1111
//
1212
// var element = document.getElementById('firebrick');
1313
// element.textContent = element.textContent + element.textContent;
14+
// 補足: 取得した要素が含むテキストは element.textContent に格納されています。
1415
var element = 'change me!';
15-
16+
1617

1718
expect(element).to.have.property(secret('vq'), secret('sveroevpx'));
1819
expect(element).to.have.deep.property(
@@ -24,6 +25,7 @@ describe('ステージ2(意図した通りに DOM 要素の属性・テキス
2425

2526
// ここにコードを記述してください。
2627
// 変更した DOM 要素は element 変数に代入してください。
28+
// var element = 'change me!';
2729
var element = 'change me!';
2830

2931

@@ -40,8 +42,12 @@ describe('ステージ2(意図した通りに DOM 要素の属性・テキス
4042

4143
// ここにコードを記述してください。
4244
// 変更した DOM 要素は element 変数に代入してください。
45+
// ヒント: 要素のスタイルを変更するには element.style をいじります
46+
// 例えばフォントサイズを変更する場合CSS風にかくと element { font-size: 10px; } ですが、
47+
// element.style の編集では element.style.fontSize = "10px"; のように書きます。
48+
// ヒント: CSSでの背景色のプロパティ名: background-color
4349
var element = 'change me!';
44-
50+
4551

4652
expect(element).to.have.property(
4753
secret('pynffAnzr'), secret('zrqvhzfrnterra'));
@@ -58,6 +64,7 @@ describe('ステージ2(意図した通りに DOM 要素の属性・テキス
5864

5965
// ここにコードを記述してください。
6066
// 変更した DOM 要素は element 変数に代入してください。
67+
// ヒント: CSSで透明度を70%に変更するには element { opacity: 0.3; } と書きます
6168
var element = 'change me!';
6269

6370

@@ -76,6 +83,7 @@ describe('ステージ2(意図した通りに DOM 要素の属性・テキス
7683

7784
// ここにコードを記述してください。
7885
// 変更した DOM 要素は element 変数に代入してください。
86+
// ヒント: CSSで要素を10度回転させるには element { transform: rotate(10deg); } と書きます
7987
var element = 'change me!';
8088

8189

@@ -97,7 +105,7 @@ describe('ステージ2(意図した通りに DOM 要素の属性・テキス
97105
//
98106
// なお、上に 20px 移動させる方法は複数ありますが、今回は top 属性を
99107
// 使う方法を使ってください。
100-
var element = 'change me!';
108+
// ヒント: 要素の位置を相対的に移動させるには position プロパティを指定する必要があります。
101109

102110

103111
expect(element).to.have.deep.property(
@@ -127,6 +135,8 @@ describe('ステージ2(意図した通りに DOM 要素の属性・テキス
127135
//
128136
// var $element = $('#brown');
129137
// $element.text($element.text() + $element.text());
138+
// 補足: jQueryで取得した要素はDOMのAPIで取得した要素とは別物です。それを区別するために、
139+
// jQueryで取得した要素を格納する変数名の先頭には ""$(ダラー)"" を付ける風習があります
130140
var $element = 'change me!';
131141

132142

public/stage3/tests.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ describe('ステージ3(意図した通りに DOM 要素の構造を変更で
3333
it('3 番の要素の左右の幽霊要素をすべて除去する', function() {
3434

3535
// ここにコードを記述してください。
36+
// ヒント: document.getElementsByClassName()で取得した配列内の要素を削除すると、取得した配列からも要素が消えることに注意
3637

3738

3839
var darkorange = document.querySelector('.mediumseagreen');
@@ -45,6 +46,7 @@ describe('ステージ3(意図した通りに DOM 要素の構造を変更で
4546
elementToAdd.textContent = '\uD83D\uDC2C';
4647

4748
// 上の elementToAdd を追加するコードをここに記述してください。
49+
// ヒント: 要素を最後に追加する関数: element.appendChild(""追加したい要素"")
4850

4951

5052
var turquoise = document.querySelector('.turquoise');
@@ -60,6 +62,8 @@ describe('ステージ3(意図した通りに DOM 要素の構造を変更で
6062

6163
// 上の elementToAdd を、5 番の青色の要素の最初に追加するコードを
6264
// ここに記述してください。
65+
// ヒント: 要素を最初に追加する関数: element.insertBefore(""追加したい要素"", element.firstChild)
66+
// 補足: element.firstChild ... 要素内の最初の子要素への参照
6367

6468

6569
var blockquote = document.querySelector('blockquote');
@@ -104,6 +108,7 @@ describe('ステージ3(意図した通りに DOM 要素の構造を変更で
104108
it('8 番の要素の左右の幽霊要素をすべて除去する', function() {
105109

106110
// ここにコードを記述してください。
111+
// ヒント: $elements.remove() もできる
107112

108113

109114
var $limegreen = $('.limegreen');
@@ -115,6 +120,7 @@ describe('ステージ3(意図した通りに DOM 要素の構造を変更で
115120
var $elementToAdd = $('<span>\uD83D\uDC2C</span>');
116121

117122
// 上の $elementToAdd を追加するコードをここに記述してください。
123+
// ヒント: 要素を最後に追加する関数: $element.append(""追加したい要素"")
118124

119125

120126
var $mediumturquoise = $('.mediumturquoise');
@@ -127,6 +133,7 @@ describe('ステージ3(意図した通りに DOM 要素の構造を変更で
127133
var $elementToAdd = $('<span>\uD83D\uDC1F</span>');
128134

129135
// 上の $elementToAdd を追加するコードをここに記述してください。
136+
// ヒント: 要素を最初に追加する関数: $element.prepend(""追加したい要素"")
130137

131138

132139
var $p = $('p');

public/stage4/tests.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ describe('ステージ4(意図通りにイベントを利用できる)', fun
5151
it('3 番の要素の click イベントで要素を 10 度ずつ回転できる', function() {
5252

5353
// ここにコードを記述してください。
54+
// ヒント: 現在の角度を変数にとっておけば・・・
5455

5556

5657
var mediumseagreen = document.querySelector('.mediumseagreen');
@@ -67,6 +68,8 @@ describe('ステージ4(意図通りにイベントを利用できる)', fun
6768
it('4 番の要素を入力された角度に回転できる', function() {
6869

6970
// ここにコードを記述してください。
71+
// ヒント: $(this)とすることでイベントの対象になっている要素を取得できます。
72+
// ヒント: input要素の入力値は「input.value」で取得できます(jQueryでは「$element.val()」)
7073

7174

7275
var turquoise = document.querySelector('.turquoise');
@@ -92,6 +95,7 @@ describe('ステージ4(意図通りにイベントを利用できる)', fun
9295
//
9396
// なお、expect(steelblue).to.be.null は上記のテストの要件を満たして
9497
// いないので、正解ではありません。
98+
// ヒント: この時点で読み込まれていないDOM要素は操作できないことに注意
9599

96100
var steelblue = document.querySelector('.steelblue');
97101
expect(steelblue).to.have.property('textContent', '5 \uD83D\uDC33');

0 commit comments

Comments
 (0)