回答編集履歴

3

調整

2018/10/17 00:45

投稿

yambejp
yambejp

スコア114863

test CHANGED
@@ -49,3 +49,41 @@
49
49
  </table>
50
50
 
51
51
  ```
52
+
53
+ # 調整版
54
+
55
+ 前回すこしロジックがくどかったので調整しました
56
+
57
+ ```javascript
58
+
59
+ $(function(){
60
+
61
+ $('#t1 td:nth-child(3n):gt(0)').each(function(){
62
+
63
+ var idx=$('#t1 td').index(this);
64
+
65
+ var v1=parseInt($('#t1 td').eq(idx-1).text());
66
+
67
+ var v2=parseInt($('#t1 td').eq(idx-3).text())|0;
68
+
69
+ $(this).text(v1+v2);
70
+
71
+ });
72
+
73
+ });
74
+
75
+ ```
76
+
77
+
78
+
79
+ ※解説
80
+
81
+ - 「$('#t1 td:nth-child(3n):gt(0)')」:テーブルの2列目の2行目以降のtdをとる
82
+
83
+ - idxにそのtdのテーブル全体におけるインデックスを取る
84
+
85
+ - v1に自分の前の列のtdの値をとる
86
+
87
+ - v2に自分の上の行のtdの値をとる、その際parseIntがNaNだったときは0を返す
88
+
89
+ - 自分のtdの値をv1とv2の和とする

2

調整

2018/10/17 00:45

投稿

yambejp
yambejp

スコア114863

test CHANGED
@@ -7,8 +7,6 @@
7
7
  <script>
8
8
 
9
9
  $(function(){
10
-
11
- var pre_total=0;
12
10
 
13
11
  $('#t1 td').each(function(x){
14
12
 

1

調整

2018/10/16 10:46

投稿

yambejp
yambejp

スコア114863

test CHANGED
@@ -10,11 +10,11 @@
10
10
 
11
11
  var pre_total=0;
12
12
 
13
- $('#t1 tr td').each(function(x){
13
+ $('#t1 td').each(function(x){
14
14
 
15
15
  if(x>3 && x%3==2){
16
16
 
17
- $(this).text($('#t1 tr td:lt('+x+'):nth-child(3n+2):gt(0)').map(function(){
17
+ $(this).text($('#t1 td:lt('+x+'):nth-child(3n+2):gt(0)').map(function(){
18
18
 
19
19
  return parseInt($(this).text());
20
20
 
@@ -36,41 +36,17 @@
36
36
 
37
37
  <table id="t1">
38
38
 
39
- <tr>
39
+ <tr><td>No.</td><td>Count</td><td>Total</td></tr>
40
40
 
41
- <td>No.</td><td>Count</td><td>Total</td>
41
+ <tr><td>1</td><td>10</td><td></td></tr>
42
42
 
43
- </tr>
43
+ <tr><td>2</td><td>30</td><td></td></tr>
44
44
 
45
- <tr>
45
+ <tr><td>3</td><td>20</td><td></td></tr>
46
46
 
47
- <td>1</td><td>10</td><td></td>
47
+ <tr><td>4</td><td>50</td><td></td></tr>
48
48
 
49
- </tr>
50
-
51
- <tr>
52
-
53
- <td>2</td><td>30</td><td></td>
54
-
55
- </tr>
56
-
57
- <tr>
58
-
59
- <td>3</td><td>20</td><td></td>
60
-
61
- </tr>
62
-
63
- <tr>
64
-
65
- <td>4</td><td>50</td><td></td>
66
-
67
- </tr>
68
-
69
- <tr>
70
-
71
- <td>5</td><td>10</td><td></td>
49
+ <tr><td>5</td><td>10</td><td></td></tr>
72
-
73
- </tr>
74
50
 
75
51
  </table>
76
52