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

回答編集履歴

1

追記

2019/11/25 21:28

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  配列化が目的なら、querySelectorAll() の引数を[属性セレクタ](https://developer.mozilla.org/ja/docs/Web/CSS/Attribute_selectors)で指定する方法もあります。
4
4
 
5
- 次の3つは、正規表現のような機能を実現します。
5
+ 次の3つは、正規表現のようなマッチング機能を実現します。
6
6
  1. ``[``属性名``^=``値``]``
7
7
  2. ``[``属性名``$=``値``]``
8
8
  3. ``[``属性名``*=``値``]``
@@ -10,8 +10,13 @@
10
10
 
11
11
  ご質問の ``jss`` を含む場合は、 ``p[class*=jss]`` で取得できそうです。
12
12
 
13
+ > webページのHTML内で上記の部分があるとして、この中の**日の部分を抜き出し、配列に代入したいです。
14
+ この場合の正規表現はどのように記述すればいいのでしょうか?
15
+
13
16
  ```javascript
14
17
  let paragraphs = document.querySelectorAll("p[class*=jss]");
15
18
  let days = Array.from(paragraphs).map(el=>el.textContent);
16
19
  console.log(days): // ["10日", "18日", "20日"]
17
- ```
20
+ ```
21
+ 追記)
22
+ HTMLソースを取得ぜず、DOMで扱う事例となります。