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

回答編集履歴

5

テキスト修正

2019/05/10 08:03

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -46,4 +46,26 @@
46
46
  上記では、各 `.hoge` について、その中にある `a` の個数が2個以上ならば`display` に `block`を、 1個以下であれば `none` を設定しています。
47
47
 
48
48
 
49
+ ### 追記3
50
+
51
+ 以下、修正後のご質問に対する回答になります。
52
+ 他の書き方もありそうですが、一例として、
53
+
54
+ ```javascript
55
+ $('.grad_wrap').each(function() {
56
+ const tagSet = $('.tag_set', this);
57
+ if ($('a', tagSet).length >= 2) {
58
+ tagSet.parent().addClass('grad_item');
59
+ $('.grad_btn_js', this).css('display', 'flex');
60
+ }
61
+ });
62
+ ```
63
+
64
+ 以下は上記のコードを動作確認するためのものです。
65
+
66
+ - **動作確認用サンプル:** [https://jsfiddle.net/jun68ykt/tnLb23f0/4/](https://jsfiddle.net/jun68ykt/tnLb23f0/4/)
67
+
68
+ 分かりやすくするため、「ほげほげ」や「リンク」などのテキストの末尾に番号を追加し、`.grad_wrap`のdivを4個にして、スタイルも適当に追加しました。
69
+
70
+
49
71
  以上、参考になれば幸いです。

4

テキスト修正

2019/05/10 08:03

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  上記の回答は、ご質問の意図が
27
27
 
28
- - `.hoge` の中にある `a` の総数が 2個以上のとき、 2番目の `.hoge` (中の `a` は個であっても。)のスタイルを変更したい。
28
+ - `.hoge` の中にある `a` の総数(ご質問に挙げられているHTMLだと4個)が 2個以上のとき、 2番目の `.hoge`のスタイルを変更したい。 (2番目の `.hoge` それ自体に含まれる `a` が1個また0個であっても。)
29
29
 
30
30
  というものであると解釈したものでしたが、そうではなく、
31
31
 

3

テキスト修正

2019/05/10 07:09

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  上記の回答は、ご質問の意図が
27
27
 
28
- - `.hoge` の中にある `a` の総数が 2個以上のとき、 2番目の `.hoge` (の中の `a` は何個あっても。)のスタイルを変更したい。
28
+ - `.hoge` の中にある `a` の総数が 2個以上のとき、 2番目の `.hoge` (の中の `a` は何個あっても。)のスタイルを変更したい。
29
29
 
30
30
  というものであると解釈したものでしたが、そうではなく、
31
31
 

2

テキスト修正

2019/05/10 07:00

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -15,8 +15,35 @@
15
15
  とすればよいかと思います。
16
16
  以下、使用例です。確認のため `<div class="hoge">`を3つにしています。
17
17
 
18
- - [https://jsfiddle.net/jun68ykt/xuL5c4z0/1/](https://jsfiddle.net/jun68ykt/xuL5c4z0/1/)
18
+ - **動作確認用サンプル:** [https://jsfiddle.net/jun68ykt/xuL5c4z0/1/](https://jsfiddle.net/jun68ykt/xuL5c4z0/1/)
19
19
 
20
20
  ### 追記
21
21
 
22
- 上記の回答は、質問の題意を勘違いしていたかもしれません。その場合はどうぞスルーしてください。
22
+ 上記の回答は、質問の題意を勘違いしていたかもしれません。その場合はどうぞスルーしてください。
23
+
24
+ ### 追記2
25
+
26
+ 上記の回答は、ご質問の意図が
27
+
28
+ - `.hoge` の中にある `a` の総数が 2個以上のとき、 2番目の `.hoge` (の中の `a` は何個あっても。)のスタイルを変更したい。
29
+
30
+ というものであると解釈したものでしたが、そうではなく、
31
+
32
+ - `.hoge` の各々について、各 `.hoge` の中にある `a`の個数に応じて、スタイルを変えたい。
33
+
34
+ というのが主旨であるならば、例えば以下のようにします。
35
+
36
+ ```javascript
37
+ $('.hoge').each(function(){
38
+ $(this).css(
39
+ 'display',
40
+ $('a', this).length >= 2 ? 'block' : 'none'
41
+ );
42
+ });
43
+ ```
44
+ - **動作確認用サンプル:** [https://jsfiddle.net/jun68ykt/kc2sjw0n/1/](https://jsfiddle.net/jun68ykt/kc2sjw0n/1/)
45
+
46
+ 上記では、各 `.hoge` について、その中にある `a` の個数が2個以上ならば`display` に `block`を、 1個以下であれば `none` を設定しています。
47
+
48
+
49
+ 以上、参考になれば幸いです。

1

テキスト修正

2019/05/10 06:35

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -15,4 +15,8 @@
15
15
  とすればよいかと思います。
16
16
  以下、使用例です。確認のため `<div class="hoge">`を3つにしています。
17
17
 
18
- - [https://jsfiddle.net/jun68ykt/xuL5c4z0/1/](https://jsfiddle.net/jun68ykt/xuL5c4z0/1/)
18
+ - [https://jsfiddle.net/jun68ykt/xuL5c4z0/1/](https://jsfiddle.net/jun68ykt/xuL5c4z0/1/)
19
+
20
+ ### 追記
21
+
22
+ 上記の回答は、質問の題意を勘違いしていたかもしれません。その場合はどうぞスルーしてください。