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

回答編集履歴

1

jQuery#attr(), アロー関数

2018/01/05 15:29

投稿

think49
think49

スコア18194

answer CHANGED
@@ -1,3 +1,5 @@
1
+ ### 属性セレクタ (Attribute selectors)
2
+
1
3
  解決していますが、別解を。
2
4
 
3
5
  - [属性セレクタのAND検索 - JSFiddle](https://jsfiddle.net/t2g8br2r/)
@@ -10,4 +12,30 @@
10
12
 
11
13
  セレクタについて勉強すると、コーディングの幅が広がります。
12
14
 
15
+ - [6. 属性選択子 - Selectors Level 4 (日本語訳)](https://triple-underscore.github.io/selectors4-ja.html#attribute-selectors)
16
+
17
+ ### jQuery#attr()
18
+
19
+ `jQuery#attr()` はインデックス0の属性値を返すので、先頭の要素の属性が欲しいのなら、attr() で十分といえます。
20
+
21
+ ```JavaScript
22
+ console.log(jQuery('[data-a="データA"][data-b="データ1"]').attr('data-c'));
23
+ ```
24
+
25
+ ### アロー関数
26
+
27
+ > コード中、"=>"がどこを指しているのか、何の処理を行っているのかがよく分かりません。
28
+
29
+ `=>` は**アロー関数**の一部です。
30
+
31
+ - [アロー関数 - JavaScript | MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/arrow_functions)
32
+
33
+ 先述のコードを「アロー関数」から通常の「関数式」に変更すると、次のコードになります。
34
+
35
+ ```JavaScript
36
+ 'use strict';
37
+ console.log(jQuery('[data-a="データA"][data-b="データ1"]').map(function (i, element) { return element.dataset.c}));
38
+ console.log(Array.prototype.map.call(jQuery('[data-a="データA"][data-b="データ1"]'), function (element) { return element.dataset.c }));
39
+ ```
40
+
13
41
  Re: icicle さん