回答編集履歴

5

バグがあるため

2022/03/02 13:05

投稿

george
george

スコア289

test CHANGED
@@ -1,4 +1,5 @@
1
1
  スマホで打ったので誤字脱字があるかもです。
2
+ 指摘して頂いたバグを修正しました。
2
3
  ```JavaScript
3
4
  // ★★★appendchild
4
5
  // クリックしたマスの日付<td value="22-03-19 12:00~13:00>"を表示する↓
@@ -18,7 +19,7 @@
18
19
  // valueと同じtextのpタグがあれば
19
20
  if(is_include_value) {
20
21
  // 削除処理
21
- ps.removeChild(ps[ps_index]);
22
+ kekka.removeChild(ps[ps_index]);
22
23
  } else {
23
24
  // 新規作成
24
25
  const myp = document.createElement("p");

4

実装したい挙動が間違っていたため、変更

2022/03/01 18:04

投稿

george
george

スコア289

test CHANGED
@@ -1,21 +1,30 @@
1
1
  スマホで打ったので誤字脱字があるかもです。
2
2
  ```JavaScript
3
- // ★★★appendchild
3
+ // ★★★appendchild
4
- // クリックしたマスの日付<td value="22-03-19 12:00~13:00>"を表示する↓
4
+ // クリックしたマスの日付<td value="22-03-19 12:00~13:00>"を表示する↓
5
+ const ps = kekka.querySelectorAll("p"); // kekkaのpタグを全て取得
6
+ let is_include_value = false;
7
+ let ps_index;
8
+ // pタグの数ループ
9
+ for (let index = 0; index < ps.length; index++) {
10
+ const p = ps[index];
11
+ // pタグのtextがvalueと一致する場合は
12
+ if(p.textContent == value) {
13
+ is_include_value = true; // valueと同じtextのpタグがあればtrue
14
+ ps_index = index; // 何番目の子要素か保存
15
+ }
16
+ }
5
17
 
6
- let old_myp = document.querySelector(".myp"); // 既存のmypを取得
7
-
8
- // 既存mypがあれば
18
+ // valueと同じtextのpタグがあれば
9
- if(old_myp) {
19
+ if(is_include_value) {
10
- // 削除
20
+ // 削除処理
21
+ ps.removeChild(ps[ps_index]);
22
+ } else {
23
+ // 新規作成
24
+ const myp = document.createElement("p");
25
+ const text = document.createTextNode(value);
11
- old_myp.remove();
26
+ myp.appendChild(text);
27
+ kekka.appendChild(myp);
12
- }
28
+ }
13
-
14
- // 新規作成
15
- const myp = document.createElement("p");
16
- myp.classList.add("myp"); // クラスを付与
17
- const text = document.createTextNode(value);
18
- myp.appendChild(text);
19
- kekka.appendChild(myp);
20
29
 
21
30
  ```

3

letを記述していなかった

2022/03/01 17:31

投稿

george
george

スコア289

test CHANGED
@@ -3,7 +3,7 @@
3
3
  // ★★★appendchild
4
4
  // クリックしたマスの日付<td value="22-03-19 12:00~13:00>"を表示する↓
5
5
 
6
- old_myp = document.querySelector(".myp"); // 既存のmypを取得
6
+ let old_myp = document.querySelector(".myp"); // 既存のmypを取得
7
7
 
8
8
  // 既存のmypがあれば
9
9
  if(old_myp) {

2

見やすいようにコードの部分を変更

2022/03/01 17:23

投稿

george
george

スコア289

test CHANGED
@@ -1,16 +1,21 @@
1
1
  スマホで打ったので誤字脱字があるかもです。
2
2
  ```JavaScript
3
+ // ★★★appendchild
4
+ // クリックしたマスの日付<td value="22-03-19 12:00~13:00>"を表示する↓
3
5
 
4
- // ★★★appendchild
5
- // クリックしたマスの日付<td value="22-03-19 12:00~13:00>"を表示する↓
6
6
  old_myp = document.querySelector(".myp"); // 既存のmypを取得
7
+
8
+ // 既存のmypがあれば
7
9
  if(old_myp) {
10
+ // 削除
8
- old_myp.remove();
11
+ old_myp.remove();
9
- }
12
+ }
13
+
14
+ // 新規作成
10
- const myp = document.createElement("p");
15
+ const myp = document.createElement("p");
11
16
  myp.classList.add("myp"); // クラスを付与
12
- const text = document.createTextNode(value);
17
+ const text = document.createTextNode(value);
13
- myp.appendChild(text);
18
+ myp.appendChild(text);
14
- kekka.appendChild(myp);
19
+ kekka.appendChild(myp);
15
20
 
16
21
  ```

1

誤字

2022/03/01 16:26

投稿

george
george

スコア289

test CHANGED
@@ -1,3 +1,4 @@
1
+ スマホで打ったので誤字脱字があるかもです。
1
2
  ```JavaScript
2
3
 
3
4
  // ★★★appendchild
@@ -7,7 +8,7 @@
7
8
  old_myp.remove();
8
9
  }
9
10
  const myp = document.createElement("p");
10
- myp.classlist.add("myp"); // クラスを付与
11
+ myp.classList.add("myp"); // クラスを付与
11
12
  const text = document.createTextNode(value);
12
13
  myp.appendChild(text);
13
14
  kekka.appendChild(myp);