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

回答編集履歴

1

chousei

2019/11/26 12:03

投稿

yambejp
yambejp

スコア117946

answer CHANGED
@@ -1,2 +1,40 @@
1
1
  例示のhtmlの中に#titleや.submit-btnのセレクタでヒットするちゅうhtml要素がないため
2
- nullにaddEventListenerしようとしているのだと思います
2
+ nullにaddEventListenerしようとしているのだと思います
3
+
4
+ # sample
5
+ ```javascript
6
+ <script>
7
+ window.addEventListener('DOMContentLoaded', ()=>{
8
+ const contents=document.querySelector('#contents');
9
+ const addContent=()=>{
10
+ var div = Object.assign(document.createElement('div'),{
11
+ className:'content',
12
+ innerHTML:'<form><input class="mini-title" name="title" type="text" size="50" placeholder="タイトル"><br><textarea maxlength="300" placeholder="内容" class="mini-content"></textarea><br><span class="sub-title">※テキストが入ります。テキストが入ります。テキストが入りま</span><br><div class="submit-area"><br><input class="submit-btn" type="button" value="投稿する"></div></div></form>',
13
+ });
14
+ contents.appendChild(div);
15
+ };
16
+ const showContent_item=()=>{
17
+ var div = Object.assign(document.createElement('div'),{
18
+ className: 'content_item',
19
+ innerHTML:'<h2 class="item-title">test</h2>',
20
+ });
21
+ contents.appendChild(div);
22
+ };
23
+ const head_title = document.querySelector('#title');
24
+ document.querySelector('.add-content-btn').addEventListener('click',e=>{
25
+ addContent();
26
+ const submit_btn = document.querySelector('.submit-btn');
27
+ submit_btn.addEventListener('click', function() {
28
+ showContent_item();
29
+ });
30
+ e.target.style.display = 'none';
31
+ });
32
+ });
33
+ </script>
34
+
35
+ <div id="main">
36
+ <div id="contents">
37
+ </div>
38
+ <i class="fas fa-plus add-content-btn fa-3x">x</i>
39
+ </div>
40
+ ```