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

回答編集履歴

1

テキスト修正

2020/06/10 01:58

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -13,4 +13,27 @@
13
13
  });
14
14
  ```
15
15
 
16
- とすればよいのではと思います。参考になれば幸いです。
16
+ とすればよいのではと思います。参考になれば幸いです。
17
+
18
+ ### 追記
19
+
20
+ rowspanizerを調べてみましたが、確かに、ご質問の要件では使えそうにないですね。ご質問の要件では、
21
+
22
+ - `th` だけを結合する。
23
+ - 最初の行から、ある行までの `th` の内容は `男` であり、
24
+ - その行より後の行の `th` の内容は `女` である。
25
+
26
+ というものと解釈しました。このような要件を満たせばよいのであれば、以下でいかがでしょうか?
27
+
28
+
29
+ ```javascript
30
+ const headersCount = $('th').length;
31
+ const malesCount = $('th').filter(function() { return $(this).text() === '男'; }).length;
32
+
33
+ $('th').get(0).rowSpan = malesCount;
34
+ $('th').get(malesCount).rowSpan = headersCount - malesCount;
35
+ $('th:not([rowspan])').remove();
36
+ ```
37
+ - **動作確認用CodePen:** [https://codepen.io/jun68ykt/pen/ExPPgYW?editors=1010](https://codepen.io/jun68ykt/pen/ExPPgYW?editors=1010)
38
+
39
+ 参考になれば幸いです。