javascriptで要素を追加する方法をご紹介していきます。
insertAdjacentHTMLを使用する方法と使用しない方法の2種類を記載していきます。
insertAdjacentHTMLは、だいたいのブラウザで対応済みですが、念のためそれ以外の方法も記載している感じになります。
insertAdjacentHTMLの対応ブラウザ
https://caniuse.com/#feat=insertadjacenthtml
併せてjQueryでの書き方も記載しておきます。
ご紹介する要素の追加位置はこちら。
// ここに要素を追加する方法 <div id="sample"> // ここに要素を追加する方法 test // ここに要素を追加する方法 </div> ここに要素を追加する方法//
追加位置の上から順に記載していきます。
要素の上に要素追加
// ここに要素を追加する方法 <div id="sample"> test </div>
<script> // insertAdjacentHTMLで要素を追加する方法 var sampleDiv = document.getElementById('sample'); sampleDiv.insertAdjacentHTML('beforebegin', '<span>afterbeginで要素追加</span>'); // insertBeforeで要素を追加する方法 var sampleDiv = document.getElementById('sample'); var newNode = document.createElement('span') newNode.innerText = 'insertBeforeで要素追加'; sampleDiv.parentNode.insertBefore(newNode, sampleDiv); // jQueryで要素を追加する方法 $('#sample').before($('<span>beforeで要素追加</span>')); </script>
要素内の一番初めに要素追加
<div id="sample"> // ここに要素を追加する方法 test </div>
<script> // insertAdjacentHTMLで要素を追加する方法 var sampleDiv = document.getElementById('sample'); sampleDiv.insertAdjacentHTML('afterbegin', '<span>afterbeginで要素追加</span>'); // insertBeforeで要素を追加する方法 var sampleDiv = document.getElementById('sample'); var newNode = document.createElement('span') newNode.innerText = 'insertBeforeで要素追加'; sampleDiv.insertBefore(newNode, sampleDiv.firstChild); // jQueryで要素を追加する方法 $('#sample').prepend($('<span>prependで要素追加</span>')); </script>
要素内の一番最後に要素追加
<div id="sample"> test // ここに要素を追加する方法 </div>
<script> // insertAdjacentHTMLで要素を追加する方法 var sampleDiv = document.getElementById('sample'); sampleDiv.insertAdjacentHTML('beforeend', '<span>beforeendで要素追加</span>'); // appendChildで要素を追加する方法 var sampleDiv = document.getElementById('sample'); var newNode = document.createElement('span') newNode.innerText = 'appendChildで要素追加'; sampleDiv.appendChild(newNode); // jQueryで要素を追加する方法 $('#sample').append($('<span>appendで要素追加</span>')); </script>
要素の下に要素追加
<div id="sample"> test </div> // ここに要素を追加する方法
<script> // insertAdjacentHTMLで要素を追加する方法 var sampleDiv = document.getElementById('sample'); sampleDiv.insertAdjacentHTML('afterend', '<span>afterendで要素追加</span>'); // insertBeforeで要素を追加する方法 var sampleDiv = document.getElementById('sample'); var newNode = document.createElement('span') newNode.innerText = 'insertBeforeで要素追加'; sampleDiv.parentNode.insertBefore(newNode, sampleDiv.nextSibling); // jQueryで要素を追加する方法 $('#sample').after($('<span>afterで要素追加</span>')); </script>