回答編集履歴

1

jQuery#attr(), アロー関数

2018/01/05 15:29

投稿

think49
think49

スコア18156

test CHANGED
@@ -1,3 +1,7 @@
1
+ ### 属性セレクタ (Attribute selectors)
2
+
3
+
4
+
1
5
  解決していますが、別解を。
2
6
 
3
7
 
@@ -22,4 +26,56 @@
22
26
 
23
27
 
24
28
 
29
+ - [6. 属性選択子 - Selectors Level 4 (日本語訳)](https://triple-underscore.github.io/selectors4-ja.html#attribute-selectors)
30
+
31
+
32
+
33
+ ### jQuery#attr()
34
+
35
+
36
+
37
+ `jQuery#attr()` はインデックス0の属性値を返すので、先頭の要素の属性が欲しいのなら、attr() で十分といえます。
38
+
39
+
40
+
41
+ ```JavaScript
42
+
43
+ console.log(jQuery('[data-a="データA"][data-b="データ1"]').attr('data-c'));
44
+
45
+ ```
46
+
47
+
48
+
49
+ ### アロー関数
50
+
51
+
52
+
53
+ > コード中、"=>"がどこを指しているのか、何の処理を行っているのかがよく分かりません。
54
+
55
+
56
+
57
+ `=>` は**アロー関数**の一部です。
58
+
59
+
60
+
61
+ - [アロー関数 - JavaScript | MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/arrow_functions)
62
+
63
+
64
+
65
+ 先述のコードを「アロー関数」から通常の「関数式」に変更すると、次のコードになります。
66
+
67
+
68
+
69
+ ```JavaScript
70
+
71
+ 'use strict';
72
+
73
+ console.log(jQuery('[data-a="データA"][data-b="データ1"]').map(function (i, element) { return element.dataset.c}));
74
+
75
+ console.log(Array.prototype.map.call(jQuery('[data-a="データA"][data-b="データ1"]'), function (element) { return element.dataset.c }));
76
+
77
+ ```
78
+
79
+
80
+
25
81
  Re: icicle さん