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

回答編集履歴

3

インデント修正

2018/05/11 03:36

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -21,8 +21,8 @@
21
21
  $(function() {
22
22
  $('table td').on("click", function() {
23
23
  $(this).parent().find('td').removeClass("is-selected");
24
- $(this).addClass("is-selected")
24
+ $(this).addClass("is-selected");
25
- });
25
+ });
26
26
  });
27
27
  ```
28
28
 

2

テーブルが複数ある場合

2018/05/11 03:36

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -12,4 +12,18 @@
12
12
  });
13
13
  });
14
14
 
15
- ```
15
+ ```
16
+
17
+ # 追記
18
+
19
+ テーブルが複数ある場合は「自分の親に所属するtdのみをremove()」みたいにすると良いかと
20
+ ```js
21
+ $(function() {
22
+ $('table td').on("click", function() {
23
+ $(this).parent().find('td').removeClass("is-selected");
24
+ $(this).addClass("is-selected")
25
+ });
26
+ });
27
+ ```
28
+
29
+ もう少し簡潔にできそうには思いますが。。

1

修正

2018/05/11 03:35

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -1,12 +1,12 @@
1
1
  要はクリックしたtdにis-selectedクラスを与えたいわけですよね
2
2
 
3
- $(this)で「イベントが発生した自身」が取得できます。
3
+ $(this)で「イベントが発生した自身」が取得できますので何番目かとる必要はありません
4
+ ※「自身が何番目を取得」というのでthisを利用されてるので惜しいところまでいってますね・・・
4
5
 
5
6
  ```js
6
7
  $(function() {
7
8
  var selected_td = $("#table td");
8
9
  $(selected_td).on("click", function() {
9
- var nthItem = selected_td.index(this);
10
10
  selected_td.removeClass("is-selected");
11
11
  $(this).addClass("is-selected");
12
12
  });