回答編集履歴

2

説明とコードの食い違いを修正、説明をより詳しくした

2021/09/20 17:10

投稿

itagagaki
itagagaki

スコア8402

test CHANGED
@@ -6,27 +6,39 @@
6
6
 
7
7
 
8
8
 
9
- `onclick=`に続いてダブルクオート`"`で括って指定した文字列の中身は`BBB(`ということになります。
9
+ HTMLコードで`onclick=`に続いてダブルクオート`"`で括って指定した文字列の中身は`BBB(`ということになります。
10
10
 
11
- でも指定したい文字列は`BBB("AAA")`ですよね。
11
+ でも指定したいは`BBB("AAA")`ですよね。これはつまりJavaScriptコードで`AAA`という中身の文字列を引数として`BBB`という関数を呼び出すということですよね。
12
-
13
- このようにダブルクオートを含む文字列はシングルクオート`'`で囲むといいです。
14
12
 
15
13
 
16
14
 
15
+ ならばこのJavaScriptコードでは
16
+
17
+
18
+
19
+ ```JavaScript
20
+
21
+ BBB('AAA')
22
+
17
- つまり
23
+ ```
24
+
25
+
26
+
27
+ と、ダブルクオートではなくシングルクオートを使うことで解決できます。
28
+
29
+ つまり`test.innerHTML`にセットするHTMLコードを
18
30
 
19
31
 
20
32
 
21
33
  ```HTML
22
34
 
23
- <a href="#" onclick='BBB("AAA")'>AAA</a>
35
+ <a href="#" onclick="BBB('AAA')">AAA</a>
24
36
 
25
37
  ```
26
38
 
27
39
 
28
40
 
29
- いうHTMLコードを`test.innerHTML`にセットればいいわけです。
41
+ とすわけです。
30
42
 
31
43
 
32
44
 
@@ -34,7 +46,9 @@
34
46
 
35
47
 
36
48
 
37
- そこで、JavaScriptの文字列としてはシングルクオートで表すことにして、HTMLコード内のシングルクオートは`\`でエスケープして表しましょう。
49
+ そこで、これをJavaScriptの文字列として表すのにはシングルクオートを使うことにして、HTMLコード内のシングルクオートは`\`でエスケープして表しましょう。
50
+
51
+ (逆、つまり、文字列を表すのにダブルクオートを使って、中身のダブルクオートを`\`でエスケープするのでも可です)
38
52
 
39
53
 
40
54
 

1

表現をわかりやすくした

2021/09/20 17:10

投稿

itagagaki
itagagaki

スコア8402

test CHANGED
@@ -8,9 +8,9 @@
8
8
 
9
9
  `onclick=`に続いてダブルクオート`"`で括って指定した文字列の中身は`BBB(`ということになります。
10
10
 
11
- 指定したい文字列は`BBB("AAA")`ですよね。
11
+ でも指定したい文字列は`BBB("AAA")`ですよね。
12
12
 
13
- ダブルクオートを含む文字列はシングルクオート`'`で囲むといいです。
13
+ このようにダブルクオートを含む文字列はシングルクオート`'`で囲むといいです。
14
14
 
15
15
 
16
16
 
@@ -26,15 +26,19 @@
26
26
 
27
27
 
28
28
 
29
- しかし、これ文字列を`test.innerHTML = `に代入る右辺の文字列として表す必要があるわけですが、シングルクオートもダブルクオートも含んでいます
29
+ というHTMLコードを`test.innerHTML`にセットればいいわけです。
30
30
 
31
31
 
32
32
 
33
- こでシングルクオートは`\`エスケープししょう
33
+ しかし、のHTMLコードを`test.innerHTML`にセットするためにJavaScriptの文字列として表す必要があるわけすが、このHTMLコードはシングルクオートもダブルクオートも含ん
34
34
 
35
35
 
36
36
 
37
+ そこで、JavaScriptの文字列としてはシングルクオートで表すことにして、HTMLコード内のシングルクオートは`\`でエスケープして表しましょう。
38
+
39
+
40
+
37
- すると、こうなります。
41
+ つまり、こういうことです。
38
42
 
39
43
 
40
44