回答編集履歴
1
回答を書き直し
test
CHANGED
@@ -1,9 +1,29 @@
|
|
1
|
-
書
|
1
|
+
HTML中に`&#***;`と書いたときの動作は、**場所によって違います**。
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
`
|
5
|
+
* `<textarea>`内…通常のテキストとして処理されるので、`&#***;`は解釈される
|
6
|
+
|
7
|
+
* 属性値…`&#***;`は解釈される
|
8
|
+
|
9
|
+
* `<script>`内…[特殊な処理](https://html.spec.whatwg.org/multipage/scripting.html#restrictions-for-contents-of-script-elements)が行われ、`&#***;`は**解釈されない**
|
6
10
|
|
7
11
|
|
8
12
|
|
13
|
+
結果、`.split('😀')`という文字列の意味が場所によって違ってきて、「全く同じ処理内容」になっていないのです。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
## 以下、誤解による回答
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
~~書く位置の問題ではないでしょうか。~~
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
~~`c`が`<textarea id="c">`を拾うためだとしたら、それより上に書いたコードでは正常に取得できない可能性があります。~~
|
26
|
+
|
27
|
+
|
28
|
+
|
9
|
-
(もっとも、このような「変数として直接拾う」という方法自体、あまり適当ではありません。`document.getElementById`など、エレメントを取得するメソッドを使うことをおすすめします)
|
29
|
+
~~(もっとも、このような「変数として直接拾う」という方法自体、あまり適当ではありません。`document.getElementById`など、エレメントを取得するメソッドを使うことをおすすめします)~~
|