回答編集履歴
1
余分なスペースなどを修正
test
CHANGED
@@ -1,18 +1,18 @@
|
|
1
|
-
`
|
1
|
+
`var td = $("<td>"); td.html(i + "*" + j +"=" + i*j);`と、
|
2
2
|
|
3
|
-
`
|
3
|
+
`$("td").html(i + "*" + j +"=" + i*j);`では、文字列を入れる対象がちがうからです。
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
前者は、新たに`
|
7
|
+
前者は、新たに`td`要素を生成し、その中に文字列を入れるため、意図した結果となりますが、
|
8
8
|
|
9
|
-
後者は、HTML内の、`
|
9
|
+
後者は、HTML内の、`td`要素の文字列を変更といった動作になります。
|
10
10
|
|
11
|
-
HTML内に、`
|
11
|
+
HTML内に、`td`要素は、最初は存在しないため、空のjQueryオブジェクトの中に、文字列が入ってるだけ、となるため、
|
12
12
|
|
13
|
-
一発目は、`
|
13
|
+
一発目は、`td`が挿入されますが、
|
14
14
|
|
15
|
-
二発目以降は、HTML内の全ての`td`要素を常に変更するので、for処理の最終結果の9
|
15
|
+
二発目以降は、HTML内の全ての`td`要素を常に変更するので、`for`処理の最終結果の`9 * 9 = 81`に全て置き換わってしまう、というわけです。
|
16
16
|
|
17
17
|
|
18
18
|
|