jQuery$.wrap()JavaScript実装する方法

1 min read

前提

<div class="piyo">こんにちは</div>

↑ これを<div>でラップして、↓ みたいにしたい。

<div>
  <div class="piyo">こんにちは</div>
</div>

jQuery

jQuery での実装方法を振り返り。

$.wrap()を使う

$(".piyo").wrap("<div />");

$.wrapに文字列を渡す。

JavaScript

jQueryと同じ方法

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 で未実装であるため考慮する必要がある。

関連

このページをシェアする

Related Articles

近年のWeb開発においてjQueryの利用をやめるべき理由

jQuery の功績と功罪 / 現代の Web 開発と jQuery / jQuery をやめるメリット / jQuery の代替手段 / おわり / Footnotes

[ESLint] 特定のimportにおいてパスの末尾スラッシュを禁止する方法

背景 / やりたいこと / @typescript-eslint/no-restricted-imports を利用した / 余談(末尾のスラッシュ自体を禁止にする)

`<input type="range">`のstepを可変にする方法

仕様 / 完成デモ / 実装 / 参考

[Vite] CSSだけをビルドする方法

背景 / Vite をインストール / 仕様

CSS in JSとは何か

想定読者 / そもそも JS フレームワーク(React、Vue.js)を採用する理由とは何か / 「命令的 UI」 と 「宣言的 UI」 / 「命令的 UI」 VS 「宣言的 UI」 / CSS in JS とは / CSS in JS ライブラリ / Emotion の使い方 / 利用するメリット / 利用するデメリット / 関連 / Footnotes