回答編集履歴
2
document.currentScript
answer
CHANGED
@@ -32,4 +32,26 @@
|
|
32
32
|
console.log(tw.nextNode()); // <x-test id="a"></x-test>
|
33
33
|
```
|
34
34
|
|
35
|
+
### document.currentScript
|
36
|
+
|
37
|
+
> ```JavaScript
|
38
|
+
> const ownerDocument = document.currentScript.ownerDocument;
|
39
|
+
> ```
|
40
|
+
|
41
|
+
このコードは何を意図しているのでしょうか。
|
42
|
+
下記コードは常に `true` なので、
|
43
|
+
|
44
|
+
```JavaScript
|
45
|
+
console.log(document.currentScript.ownerDocument === document); // true
|
46
|
+
```
|
47
|
+
|
48
|
+
先の変数文は下記コードと同じ挙動になります。
|
49
|
+
|
50
|
+
```JavaScript
|
51
|
+
const ownerDocument = document;
|
52
|
+
```
|
53
|
+
|
54
|
+
グローバル変数をローカル変数化する事でスコープチェーンを辿る回数が少なくなる為、`document` を何度も参照するならパフォーマンス向上が期待できますが、`currentScript` を経由する意味はないと考えます。
|
55
|
+
今一度、求めている動作を見つめなおしてみる事をお勧めします。
|
56
|
+
|
35
57
|
Re: Fushihara さん
|
1
document.querySelector
answer
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
</script>
|
18
18
|
```
|
19
19
|
|
20
|
-
**template要素の内容はDOM上に現れません**ので、`querySelector` で検索することは出来ません。
|
20
|
+
**template要素の内容はDOM上に現れません**ので、`document.querySelector` で検索することは出来ません。
|
21
21
|
生成された DocumentFragment から `querySelector` を実行する事で期待通りに動作します。
|
22
22
|
|
23
23
|
### TreeWalker
|