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

回答編集履歴

2

説明ミス

2019/01/21 07:40

投稿

退会済みユーザー
answer CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  要するに、javascirptで上記の条件('#test tr')に合う要素を、後から作ってもclickイベントは反応しないという事です。
18
18
 
19
- [JQuery.on](http://api.jquery.com/on/)のselector引数を使います。
19
+ このような場合[JQuery.on](http://api.jquery.com/on/)のselector引数を使います。
20
20
 
21
21
  ```javascript
22
22
  $( '#test' ).on( 'click', 'tr', function() {
@@ -25,6 +25,4 @@
25
25
  })
26
26
  ```
27
27
 
28
- このようにしたら良いと思います。
29
-
30
28
  selector引数の詳しい解説は面倒なのでご自身で調べて下さい。

1

追加質問の回答

2019/01/21 07:40

投稿

退会済みユーザー
answer CHANGED
@@ -7,4 +7,24 @@
7
7
  });
8
8
  ```
9
9
 
10
- 最初に全消去すればよいです
10
+ 最初に全消去すればよいです
11
+
12
+ ### 追記への回答
13
+
14
+ jqueryオブジェクトは実行した時点のHTMLから作成されます。
15
+ よって、$( '#test tr' )は、このメソッドを実行した時点のHTMLから作成されます。
16
+
17
+ 要するに、javascirptで上記の条件('#test tr')に合う要素を、後から作ってもclickイベントは反応しないという事です。
18
+
19
+ [JQuery.on](http://api.jquery.com/on/)のselector引数を使います。
20
+
21
+ ```javascript
22
+ $( '#test' ).on( 'click', 'tr', function() {
23
+ $('.colorchange').removeClass('colorchange');
24
+ $(this).children('td').addClass('colorchange');
25
+ })
26
+ ```
27
+
28
+ このようにしたら良いと思います。
29
+
30
+ selector引数の詳しい解説は面倒なのでご自身で調べて下さい。