回答編集履歴

2

テキスト修正

2018/02/17 10:00

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -63,3 +63,87 @@
63
63
  ```
64
64
 
65
65
  のようにすればよいかと思います。
66
+
67
+
68
+
69
+ ---
70
+
71
+ **補足**
72
+
73
+
74
+
75
+ 回答に
76
+
77
+
78
+
79
+ > ```html
80
+
81
+ > <span onclick="deleteRow(); return(false);">
82
+
83
+ > ```
84
+
85
+ > のように
86
+
87
+
88
+
89
+
90
+
91
+ と書いたほうのやり方で修正すると、たとえば以下になります。
92
+
93
+
94
+
95
+ [https://jsfiddle.net/jun68ykt/sLhfz1ye/31/](https://jsfiddle.net/jun68ykt/sLhfz1ye/31/)
96
+
97
+
98
+
99
+
100
+
101
+ 行を削除する関数を、以下のように jQuery のヘルパ関数として設定します。
102
+
103
+
104
+
105
+ ```javascript
106
+
107
+
108
+
109
+ $.deleteRow = function() {
110
+
111
+ var row = $(this).closest("tr").remove();
112
+
113
+ alert();
114
+
115
+ $(row).remove();
116
+
117
+ };
118
+
119
+ ```
120
+
121
+
122
+
123
+ この `$.deleteRow` を、 追加する行の中の `<span>` の clickハンドラとして使うには、
124
+
125
+
126
+
127
+ ```javascript
128
+
129
+ <span onclick="$.deleteRow.apply(this);"
130
+
131
+ ```
132
+
133
+
134
+
135
+ と書きます。
136
+
137
+ また、初期表示のときの行に、clickハンドラを設定するところは
138
+
139
+
140
+
141
+ ```javascript
142
+
143
+ $('.delete').click($.deleteRow);
144
+
145
+ ```
146
+
147
+
148
+
149
+ と書けます。

1

テキスト修正

2018/02/17 10:00

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -52,11 +52,9 @@
52
52
 
53
53
  .after() に長い文字列を与えるのではなく、 span を $('<span>') で
54
54
 
55
- 作って、それに click で行削除を設定するか、もしくは
55
+ 作って、それに `.click()` で行削除の関数を設定するか、もしくは
56
56
 
57
- 今のまま文字列でいくなら、 行削除を行う処理を関数化して
57
+ 今のまま文字列でいくなら、 行削除を行う処理を個別に関数化して
58
-
59
-
60
58
 
61
59
  ```html
62
60