質問編集履歴

4

2020/07/28 03:10

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- Todoアプリを作成しております。idがついているdivタグを削除したいのです。
1
+ javaとjavascriptについて
test CHANGED
File without changes

3

2020/07/28 03:10

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,395 +1,7 @@
1
- ### 前提・実現したいこと
1
+ ああああああああああああああ
2
2
 
3
- JavaScript初心者です。
3
+ あああああああああああああ
4
4
 
5
- Todoアプリを作成しておりますが、プログラムで行き詰まってしまい
5
+ ああああああああああああああ
6
6
 
7
- 質問させていただきます。
7
+ ああああああああああああ
8
-
9
-
10
-
11
- 実現したいこと
12
-
13
- ・Todoのタスクの内容が全部なくなった時に、○月○日にやりたいことを削除する。
14
-
15
- →カレンダー要素のIDがついたdivタグを削除したい
16
-
17
-
18
-
19
- ```ここに言語を入力
20
-
21
- if (document.getElementsByName("name").length === 0) {
22
-
23
-
24
-
25
- }
26
-
27
- ```
28
-
29
- こちらの条件式の中で、その処理を行いたいのですが
30
-
31
- 思いつかずに悩んでおります。
32
-
33
-
34
-
35
- ### 該当のソースコード
36
-
37
-
38
-
39
- //ボタン押下時
40
-
41
- ```ここに言語を入力
42
-
43
- let object = {};
44
-
45
- //objectの長さを確認する
46
-
47
- //checkboxが押されたらobjectの数を1個減らす
48
-
49
- document.getElementById("restTodo").innerHTML = "残りのToDoList";
50
-
51
- let icon = document.getElementById("icon");
52
-
53
- //アイコンの値を保持する
54
-
55
- let displayOriginal = icon.style.display;
56
-
57
- icon.style.display = "none";
58
-
59
-
60
-
61
- function submit() {
62
-
63
- let calendarElement = document.getElementById("datepicker").value;
64
-
65
- const listTodo = document.getElementById("item").value;
66
-
67
- //オブジェクトにtodoを追加する
68
-
69
- let createFlag = false;
70
-
71
- if (calendarElement in object) {
72
-
73
- object[calendarElement].push(listTodo);
74
-
75
- } else {
76
-
77
- createFlag = true;
78
-
79
- object[calendarElement] = [listTodo];
80
-
81
- }
82
-
83
- //文字数を入力する
84
-
85
- let remaining = 30;
86
-
87
- let listLength = Number(listTodo.length);
88
-
89
-
90
-
91
- if (listTodo === "") {
92
-
93
- window.alert("予定を入れてください");
94
-
95
- return;
96
-
97
- }
98
-
99
-
100
-
101
- if (listLength >= remaining) {
102
-
103
- window.alert("文字数を超えています");
104
-
105
- return;
106
-
107
- }
108
-
109
-
110
-
111
- //todolist<div>作成
112
-
113
- let todolists;
114
-
115
- if (createFlag) {
116
-
117
- let element = document.createElement("div");
118
-
119
- element.setAttribute("id", calendarElement);
120
-
121
- let p = document.createElement("p");
122
-
123
- p.textContent = calendarElement + "にすること";
124
-
125
- document.getElementById("output").appendChild(element);
126
-
127
- element.appendChild(p);
128
-
129
- todolists = document.createElement("ul");
130
-
131
- element.appendChild(todolists);
132
-
133
- } else {
134
-
135
- let element = document.getElementById(calendarElement);
136
-
137
- let elementChildren = element.children;
138
-
139
- for (let i = 0; i < elementChildren.length; i++) {
140
-
141
- if (elementChildren[i].tagName === "UL") {
142
-
143
- todolists = elementChildren[i];
144
-
145
- break;
146
-
147
- }
148
-
149
- }
150
-
151
- }
152
-
153
-
154
-
155
- let li = document.createElement("li");
156
-
157
- li.textContent = listTodo;
158
-
159
- todolists.appendChild(li);
160
-
161
-
162
-
163
- //削除ボタンを追加する
164
-
165
- let removeButton = document.createElement("button");
166
-
167
- button.display = "none";
168
-
169
- removeButton.innerHTML = '<i class="fas fa-trash"></i>';
170
-
171
- li.appendChild(removeButton);
172
-
173
-
174
-
175
- const removeTodo = (removeButton) => {
176
-
177
- let targetTodo = removeButton.closest("li");
178
-
179
- todolists.removeChild(targetTodo);
180
-
181
- delete object[calendarElement];
182
-
183
- let el = document.getElementById("li");
184
-
185
- let div = el.closest("div");
186
-
187
- console.log(div);
188
-
189
- if (document.getElementsByName("name").length === 0) {
190
-
191
-
192
-
193
- }
194
-
195
- };
196
-
197
-
198
-
199
- removeButton.addEventListener("click", () => removeTodo(removeButton), false);
200
-
201
-
202
-
203
- // checkboxを追加する;
204
-
205
- let check = document.createElement("input");
206
-
207
- check.setAttribute("type", "checkbox");
208
-
209
- check.setAttribute("name", "name");
210
-
211
- check.setAttribute("id", "box");
212
-
213
- li.appendChild(check);
214
-
215
-
216
-
217
- //checkboxを追加
218
-
219
- $(":checkbox").click(function () {
220
-
221
- if ($(this).is(":checked")) {
222
-
223
- $(this).closest("li").css("text-decoration", "line-through");
224
-
225
- } else {
226
-
227
- $(this).closest("li").css("text-decoration", "none");
228
-
229
- }
230
-
231
- });
232
-
233
-
234
-
235
- }
236
-
237
- //クリア機能を使ってあげる
238
-
239
- function clear() {
240
-
241
- let text = document.getElementById("item");
242
-
243
- text.value = "";
244
-
245
- }
246
-
247
-
248
-
249
- function completeDetele() {
250
-
251
- window.alert("復元できませんがよろしいですか?");
252
-
253
- let divCalendar = document.getElementById(calendarElement);
254
-
255
- document.getElementById("output").removeChild(divCalendar);
256
-
257
- document.getElementById("checked.box").removeChild("");
258
-
259
- }
260
-
261
-
262
-
263
- ```
264
-
265
-
266
-
267
- ```
268
-
269
- <html>
270
-
271
- <head>
272
-
273
- <link
274
-
275
- rel="stylesheet"
276
-
277
- href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css"
278
-
279
- />
280
-
281
- <script src="http://code.jquery.com/jquery-1.8.3.js"></script>
282
-
283
- <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
284
-
285
- <script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>
286
-
287
- <link rel="stylesheet" href="main.css" />
288
-
289
- <script>
290
-
291
- $(function () {
292
-
293
- $("#datepicker").datepicker();
294
-
295
- $("#datepicker").datepicker("option", "dateFormat", "yy-mm-dd");
296
-
297
- });
298
-
299
- </script>
300
-
301
- </head>
302
-
303
-
304
-
305
- <body>
306
-
307
- <h1 class="headerTitle">TODO APP</h1>
308
-
309
- <div id="container">
310
-
311
- 日付<span class="important">※必須</span>
312
-
313
- <input
314
-
315
- type="text"
316
-
317
- id="datepicker"
318
-
319
- placeholder="日付を選択してください"
320
-
321
-
322
-
323
- />
324
-
325
- 内容
326
-
327
- <span class="important">※必須</span>
328
-
329
- <input type="text" id="item" placeholder="30文字まで入力できます" />
330
-
331
- <button type="button" id="button" onclick="submit()">追加</button>
332
-
333
- <button type="button" id="clearButton" onclick="clear()">クリア</button>
334
-
335
-
336
-
337
- <div id="custom_high"><input type="checkbox" name="priority" />High</div>
338
-
339
- <div id="custom_middle"><input type="checkbox" name="priority" />Middle</div>
340
-
341
- <div id="custom_low"><input type="checkbox" name="priority" />Low</div>
342
-
343
-
344
-
345
- <tr>
346
-
347
- <th>残りタスク</th>
348
-
349
- <td><span class="restTodo">0</span>個</td>
350
-
351
- </tr>
352
-
353
- <tr>
354
-
355
- <th>完了率</th>
356
-
357
- <td><span class="completeRate">0</span>%</td>
358
-
359
- </tr>
360
-
361
-
362
-
363
- <button type="button" id="completeDelete" onclick="completeDetele()">全部削除</button>
364
-
365
- <p id="restTodo"></p>
366
-
367
- <p id="output"></p>
368
-
369
- <form name="form">
370
-
371
- <i class="fas fa-trash" id="icon"></i>
372
-
373
- </form>
374
-
375
- </div>
376
-
377
- <script src="main.js"></script>
378
-
379
- </body>
380
-
381
- </html>
382
-
383
-
384
-
385
- ```
386
-
387
-
388
-
389
- ### 試したこと
390
-
391
- checkboxの個数が0になったときに、カレンダー要素のIDがついたdivタグを削除したい
392
-
393
- 拙い文章で申し訳ございません。また、こういった質問サイトに投稿する際は、こういう書き方(?)で
394
-
395
- 大丈夫なのでしょうか....。不躾で申し訳ありません。よろしくお願い致します。

2

htmlのソースと本文タイトルを変更しました。

2020/07/28 03:08

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- Todoアプリを作成しております。
1
+ Todoアプリを作成しております。idがついているdivタグを削除したいのです。
test CHANGED
@@ -1,7 +1,5 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- お世話になってます。初めて投稿させていただきます。
4
-
5
3
  JavaScript初心者です。
6
4
 
7
5
  Todoアプリを作成しておりますが、プログラムで行き詰まってしまい
@@ -266,6 +264,128 @@
266
264
 
267
265
 
268
266
 
267
+ ```
268
+
269
+ <html>
270
+
271
+ <head>
272
+
273
+ <link
274
+
275
+ rel="stylesheet"
276
+
277
+ href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css"
278
+
279
+ />
280
+
281
+ <script src="http://code.jquery.com/jquery-1.8.3.js"></script>
282
+
283
+ <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
284
+
285
+ <script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>
286
+
287
+ <link rel="stylesheet" href="main.css" />
288
+
289
+ <script>
290
+
291
+ $(function () {
292
+
293
+ $("#datepicker").datepicker();
294
+
295
+ $("#datepicker").datepicker("option", "dateFormat", "yy-mm-dd");
296
+
297
+ });
298
+
299
+ </script>
300
+
301
+ </head>
302
+
303
+
304
+
305
+ <body>
306
+
307
+ <h1 class="headerTitle">TODO APP</h1>
308
+
309
+ <div id="container">
310
+
311
+ 日付<span class="important">※必須</span>
312
+
313
+ <input
314
+
315
+ type="text"
316
+
317
+ id="datepicker"
318
+
319
+ placeholder="日付を選択してください"
320
+
321
+
322
+
323
+ />
324
+
325
+ 内容
326
+
327
+ <span class="important">※必須</span>
328
+
329
+ <input type="text" id="item" placeholder="30文字まで入力できます" />
330
+
331
+ <button type="button" id="button" onclick="submit()">追加</button>
332
+
333
+ <button type="button" id="clearButton" onclick="clear()">クリア</button>
334
+
335
+
336
+
337
+ <div id="custom_high"><input type="checkbox" name="priority" />High</div>
338
+
339
+ <div id="custom_middle"><input type="checkbox" name="priority" />Middle</div>
340
+
341
+ <div id="custom_low"><input type="checkbox" name="priority" />Low</div>
342
+
343
+
344
+
345
+ <tr>
346
+
347
+ <th>残りタスク</th>
348
+
349
+ <td><span class="restTodo">0</span>個</td>
350
+
351
+ </tr>
352
+
353
+ <tr>
354
+
355
+ <th>完了率</th>
356
+
357
+ <td><span class="completeRate">0</span>%</td>
358
+
359
+ </tr>
360
+
361
+
362
+
363
+ <button type="button" id="completeDelete" onclick="completeDetele()">全部削除</button>
364
+
365
+ <p id="restTodo"></p>
366
+
367
+ <p id="output"></p>
368
+
369
+ <form name="form">
370
+
371
+ <i class="fas fa-trash" id="icon"></i>
372
+
373
+ </form>
374
+
375
+ </div>
376
+
377
+ <script src="main.js"></script>
378
+
379
+ </body>
380
+
381
+ </html>
382
+
383
+
384
+
385
+ ```
386
+
387
+
388
+
269
389
  ### 試したこと
270
390
 
271
391
  checkboxの個数が0になったときに、カレンダー要素のIDがついたdivタグを削除したい

1

タイトル、コードを囲い修正しました

2020/07/25 04:18

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- JavaScript初心者です。Todoアプリを作成しております。
1
+ Todoアプリを作成しております。
test CHANGED
@@ -40,6 +40,8 @@
40
40
 
41
41
  //ボタン押下時
42
42
 
43
+ ```ここに言語を入力
44
+
43
45
  let object = {};
44
46
 
45
47
  //objectの長さを確認する
@@ -260,6 +262,8 @@
260
262
 
261
263
 
262
264
 
265
+ ```
266
+
263
267
 
264
268
 
265
269
  ### 試したこと