###前提・実現したいこと
jQueryを使用せずにJavaScriptのみでappend(),before(),prepend(),append()を実装したいのですが、クリックするたびに要素を追加する機能の実装方法がわからなくて困っています。
現在は1度クリックするとappendの動きはできるが、2回目以降はクリックしても変化しない状態になる。
###該当のソースコード
HTML
1<!doctype html> 2<html> 3<head> 4<meta charset="UTF-8"> 5<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> 6<meta name="format-detection" content="telephone=no"> 7<title></title> 8<link rel="stylesheet" href="css/reset.css"> 9<link rel="stylesheet" href="css/base.css"> 10<link rel="stylesheet" href="css/style.css"> 11</head> 12<body> 13<div class="wrapper"> 14 <div class="u-mbm btn" id="q4">q4</div> 15</div> 16</body> 17</html>
JavaScript
1 2<script type="text/javascript"> 3 var q4 = document.getElementById("q4"); 4 5 var p = document.createElement('span'), 6 q = document.createElement('span'), 7 r = document.createElement('span'), 8 s = document.createElement('span'); 9 10 p.innerHTML = "要素前"; 11 q.innerHTML = "要素後"; 12 r.innerHTML = "前 "; 13 s.innerHTML = " 後"; 14 15 function addText(){ 16 var add_p = q4.parentNode.insertBefore(p, q4), 17 add_q = q4.parentNode.insertBefore(q, q4.nextElementSibling), 18 add_r = q4.insertBefore(r, q4.firstChild), 19 add_s = q4.appendChild(s, q4); 20 21 add_p.appendChild(p); 22 add_q.appendChild(q); 23 add_r.appendChild(r); 24 add_s.appendChild(s); 25 } 26 27 q4.onclick = function(){ 28 addText(); 29 } 30</script>
appendChildを使用するのかなというイメージはあるのですが、どのように実装すればいいのかがまだよくわかりません。アドバイスお願いします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。