回答編集履歴
9
test
CHANGED
@@ -1,8 +1,6 @@
|
|
1
|
-
> Tableクラスの中で宣言されたTdクラスから,Tableクラスのメソッドを呼び出す方法
|
1
|
+
> Tableクラスの中で宣言されたTdクラスから,Tableクラスのメソッドを呼び出す方法
|
2
2
|
|
3
|
-
質問記載の内容では、追加後の番号の付番規則が不明確ですが、
|
4
|
-
仮に「最初から表示されている行についてボタンを押した場合に、ボタンを押した行の番号に0.1を足した番号がついた行を1つ後ろに追加する」というのであれば、
|
5
|
-
下記のようにすればよいのではないでしょうか
|
3
|
+
変更を最小限にするならば、下記のようにすればよいのではないでしょうか。
|
6
4
|
|
7
5
|
+ Table 内でTd (ボタン)を生成するときに、自分自身のインスタンスを渡すようにする。
|
8
6
|
```diff
|
8
test
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
> Tableクラスの中で宣言されたTdクラスから,Tableクラスのメソッドを呼び出す方法 (原文ママ)
|
2
2
|
|
3
3
|
質問記載の内容では、追加後の番号の付番規則が不明確ですが、
|
4
|
-
仮に「最初
|
4
|
+
仮に「最初から表示されている行についてボタンを押した場合に、ボタンを押した行の番号に0.1を足した番号がついた行を1つ後ろに追加する」というのであれば、
|
5
5
|
下記のようにすればよいのではないでしょうか(変更を最小限にしたものです)
|
6
6
|
|
7
7
|
+ Table 内でTd (ボタン)を生成するときに、自分自身のインスタンスを渡すようにする。
|
7
test
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
> Tableクラスの中で宣言されたTdクラスから,Tableクラスのメソッドを呼び出す方法 (原文ママ)
|
2
|
+
|
1
3
|
質問記載の内容では、追加後の番号の付番規則が不明確ですが、
|
2
4
|
仮に「最初に表示されている行について、ボタンを押した行の番号に0.1を足した番号がついた行をその行の1つ後ろに追加する」というのであれば、
|
3
5
|
下記のようにすればよいのではないでしょうか(変更を最小限にしたものです)
|
6
test
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
質問記載の内容では、追加後の番号の付番規則が不明確ですが、
|
2
|
-
仮に「最初に表示さている行に
|
2
|
+
仮に「最初に表示されている行について、ボタンを押した行の番号に0.1を足した番号がついた行をその行の1つ後ろに追加する」というのであれば、
|
3
3
|
下記のようにすればよいのではないでしょうか(変更を最小限にしたものです)
|
4
4
|
|
5
5
|
+ Table 内でTd (ボタン)を生成するときに、自分自身のインスタンスを渡すようにする。
|
5
test
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
質問記載の内容では、追加後の番号の付番規則が不明確ですが、
|
2
|
-
仮に「ボタンを押した行の番号に0.1を足した番号がついた行を
|
2
|
+
仮に「最初に表示さている行に関して、ボタンを押した行の番号に0.1を足した番号がついた行を1つ後ろに追加する」というのであれば、
|
3
3
|
下記のようにすればよいのではないでしょうか(変更を最小限にしたものです)
|
4
4
|
|
5
5
|
+ Table 内でTd (ボタン)を生成するときに、自分自身のインスタンスを渡すようにする。
|
4
test
CHANGED
@@ -1,16 +1,14 @@
|
|
1
1
|
質問記載の内容では、追加後の番号の付番規則が不明確ですが、
|
2
|
-
仮に「ボタンを押した行の番号に0.1を足した番号がついた行を追加する」というのであれば、
|
2
|
+
仮に「ボタンを押した行の番号に0.1を足した番号がついた行を(そのボタンを押した行の1つ前または1つ後ろに)追加する」というのであれば、
|
3
3
|
下記のようにすればよいのではないでしょうか(変更を最小限にしたものです)
|
4
4
|
|
5
|
-
+ Table 内でTd を生成するときに、自分自身のインスタンスを渡すようにする。
|
5
|
+
+ Table 内でTd (ボタン)を生成するときに、自分自身のインスタンスを渡すようにする。
|
6
6
|
```diff
|
7
7
|
|
8
8
|
class Table {
|
9
9
|
略
|
10
10
|
createOneLine(num) {
|
11
11
|
略
|
12
|
-
- let text = new Td(index, "Text is written here.", "input");
|
13
|
-
+ let text = new Td(index, "Text is written here.", "input", this);
|
14
12
|
- let func = new Td(index, "+", "button");
|
15
13
|
+ let func = new Td(index, "+", "button", this);
|
16
14
|
略
|
@@ -80,7 +78,7 @@
|
|
80
78
|
let trElem = document.createElement('tr');
|
81
79
|
let index = FLOAT_SUB(num, 1);
|
82
80
|
let th = new Th(index, num);
|
83
|
-
let text = new Td(index, "Text is written here.", "input"
|
81
|
+
let text = new Td(index, "Text is written here.", "input");
|
84
82
|
let func = new Td(index, "+", "button", this);
|
85
83
|
trElem.appendChild(th.thElem);
|
86
84
|
trElem.appendChild(text.tdElem);
|
3
test
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
- let text = new Td(index, "Text is written here.", "input");
|
13
13
|
+ let text = new Td(index, "Text is written here.", "input", this);
|
14
14
|
- let func = new Td(index, "+", "button");
|
15
|
-
+
|
15
|
+
+ let func = new Td(index, "+", "button", this);
|
16
16
|
略
|
17
17
|
}
|
18
18
|
```
|
2
test
CHANGED
@@ -1,6 +1,21 @@
|
|
1
1
|
質問記載の内容では、追加後の番号の付番規則が不明確ですが、
|
2
2
|
仮に「ボタンを押した行の番号に0.1を足した番号がついた行を追加する」というのであれば、
|
3
3
|
下記のようにすればよいのではないでしょうか(変更を最小限にしたものです)
|
4
|
+
|
5
|
+
+ Table 内でTd を生成するときに、自分自身のインスタンスを渡すようにする。
|
6
|
+
```diff
|
7
|
+
|
8
|
+
class Table {
|
9
|
+
略
|
10
|
+
createOneLine(num) {
|
11
|
+
略
|
12
|
+
- let text = new Td(index, "Text is written here.", "input");
|
13
|
+
+ let text = new Td(index, "Text is written here.", "input", this);
|
14
|
+
- let func = new Td(index, "+", "button");
|
15
|
+
+ let func = new Td(index, "+", "button", this);
|
16
|
+
略
|
17
|
+
}
|
18
|
+
```
|
4
19
|
|
5
20
|
+ Td のコンストラクタで、table のインスタンスを受け取るようにしておく。
|
6
21
|
```diff
|
@@ -16,7 +31,6 @@
|
|
16
31
|
}
|
17
32
|
```
|
18
33
|
|
19
|
-
|
20
34
|
+ ボタンをクリックしたら、table の setNewOneLine メソッドを呼び出す。
|
21
35
|
```diff
|
22
36
|
class Td {
|
@@ -31,20 +45,7 @@
|
|
31
45
|
this.tdElem.appendChild(btnElem);
|
32
46
|
}
|
33
47
|
```
|
34
|
-
+ Table 内でTd を生成するときに、自分自身のインスタンスを渡すようにする。
|
35
|
-
```diff
|
36
48
|
|
37
|
-
class Table {
|
38
|
-
略
|
39
|
-
createOneLine(num) {
|
40
|
-
略
|
41
|
-
- let text = new Td(index, "Text is written here.", "input");
|
42
|
-
+ let text = new Td(index, "Text is written here.", "input", this);
|
43
|
-
- let func = new Td(index, "+", "button");
|
44
|
-
+ let func = new Td(index, "+", "button", this);
|
45
|
-
略
|
46
|
-
}
|
47
|
-
```
|
48
49
|
|
49
50
|
|
50
51
|
修正後のコード全体:
|
1
test
CHANGED
@@ -169,15 +169,4 @@
|
|
169
169
|
```
|
170
170
|
|
171
171
|
|
172
|
-
createElem メソッド内で parentTable の setNewOneLine を呼び出すようにする。
|
173
|
-
```diff
|
174
|
-
createBtnElem() { // ボタンをtdElementの子要素として追加
|
175
|
-
let btnElem = document.createElement('button');
|
176
|
-
btnElem.type = "button";
|
177
|
-
btnElem.innerText = this.text;
|
178
172
|
|
179
|
-
btnElem.addEventListener('click', () => {
|
180
|
-
// ここに新しく行を追加する処理を書きたい.
|
181
|
-
+ this.parentTable.setNewOneLine((this.index + 1.1).toFixed(1))
|
182
|
-
});
|
183
|
-
```
|