前提
<div class="piyo">こんにちは</div>
↑ これを<div>
でラップして、↓ みたいにしたい。
<div>
<div class="piyo">こんにちは</div>
</div>
<div class="piyo">こんにちは</div>
↑ これを<div>
でラップして、↓ みたいにしたい。
<div>
<div class="piyo">こんにちは</div>
</div>
jQuery での実装方法を振り返り。
$(".piyo").wrap("<div />");
$.wrap
に文字列を渡す。
var piyo = document.querySelector(".piyo");
piyo = "<div>" + piyo.outerHTML + "</div>";
var piyo = document.querySelector(".piyo");
var div = document.createElement("div");
// IEの場合
if (isIE) {
piyo.parentNode.insertBefore(div, piyo);
div.appendChild(piyo);
} else {
piyo.before(div);
div.append(piyo);
}
モダンブラウザであれば、before()
が使えるため挿入は容易い。
ただ、before()
は IE で未実装であるため考慮する必要がある。