質問するログイン新規登録

回答編集履歴

2

セレクターまわりの説明を変えました。

2017/11/27 06:49

投稿

miyabi-sun
miyabi-sun

スコア21542

answer CHANGED
@@ -33,13 +33,17 @@
33
33
  そこで、jQuery関数($変数)にCSSセレクタのような文字列を第一引数として投げ込んでやると、
34
34
  DOMツリーを片っ端から漁って合致するDOMツリーを返してくれる。
35
35
 
36
- つまり、セレクタというのは**DOMツリーの引換券として機能する文字列**であり、
36
+ セレクタというのは**DOMツリーの引換券として機能する文字列**であり、
37
37
  jQueryでは見事にCSSセレクタと同等の機能を作って用意してくれてるわけだ。
38
-
39
38
  あくまで引換券なので、DOMそのものはセレクタとは呼ばない。
40
- DOMそのものを指して「あ、セレクタだ」と言っても
41
- 「何バカな事言ってんのコイツ?」という目で見られるわけだね。
42
39
 
40
+ 例えば通販で頼んだ品を当日受け取れず、ゆうパックの不在通知ハガキがポストに入っていたとしよう。
41
+ この時、不在通知ハガキは通販の品物の引換券だ。
42
+ これを郵便局に持っていくと通販の品物と交換してくれるが、通販の品物を指指して「不在通知ハガキだ」とは呼ばないのと同じことだね。
43
+
44
+ セレクター -> DOMも同様で一方通行の概念なんだ。
45
+ CSS解析機やjQueryの関数に投げ込んだら対象のDOMは得られるけど、DOMはセレクターではない。
46
+
43
47
  ---
44
48
 
45
49
  でにjQuery($)の第一引数にCSSセレクタ的な文字列を渡すから、
@@ -64,9 +68,8 @@
64
68
 
65
69
  JavaScriptにも輸入してくれという声は結構前から出ていた。
66
70
  それに応える形で登場したのが、
67
- モダンブラウザやIE8以降のブラウザで利用可能になった[document.querySelector](https://developer.mozilla.org/ja/docs/Web/API/Document/querySelector)や
68
- IE9降のブラウザで完全対応した[document.querySelectorAll](https://developer.mozilla.org/ja/docs/Web/API/Document/querySelectorAll)
71
+ モダンブラウザやIE9以降のブラウザで利用可能[document.querySelector](https://developer.mozilla.org/ja/docs/Web/API/Document/querySelector)や[document.querySelectorAll](https://developer.mozilla.org/ja/docs/Web/API/Document/querySelectorAll)
72
+ (IE8下も用意はされていましたが、一部セレクタが動作しなかった)
69
73
 
70
-
71
74
  `document.querySelector("p strong")`などのように書くと、
72
75
  jQueryと同じようにDOMツリーを探索してDOMを返してくれる。

1

IE9→IE8に修正

2017/11/27 06:49

投稿

miyabi-sun
miyabi-sun

スコア21542

answer CHANGED
@@ -64,7 +64,9 @@
64
64
 
65
65
  JavaScriptにも輸入してくれという声は結構前から出ていた。
66
66
  それに応える形で登場したのが、
67
- モダンブラウザやIE9以降のブラウザで利用可能になった`document.querySelector`
67
+ モダンブラウザやIE8以降のブラウザで利用可能になった[document.querySelector](https://developer.mozilla.org/ja/docs/Web/API/Document/querySelector)や
68
+ IE9以降のブラウザで完全対応した[document.querySelectorAll](https://developer.mozilla.org/ja/docs/Web/API/Document/querySelectorAll)
68
69
 
70
+
69
71
  `document.querySelector("p strong")`などのように書くと、
70
72
  jQueryと同じようにDOMツリーを探索してDOMを返してくれる。