jQueryで対象の要素をまとめて親要素で囲む方法
2023/10/27
あるシステムで出力されているHTMLタグを指定した親要素で囲みたいというケースがあった。jQueryのbefore / afterで無理やり囲めばいいのかと思いきやうまく動かない。調べたところそれ用のメソッドが用意されていたので使い方のメモ。
やりたいこと
以下の#span_1 / #span_2を<div id="test">というタグで囲みたい。
<div id="div_1">
<span id="span_1">span_1</span>
<span id="span_2">span_2</span>
</div>
<div id="div_2">
<span id="span_3">span_3</span>
<span id="span_4">span_4</span>
</div>
ダメなパターン
$('#span_1').before('<div id="test">');
$('#span_2').after('</div>');
無理やり感はあるもののこれで行けるかと思いきや以下のような出力となった。
<div id="div_1">
<div id="test"></div>
<span id="span_1">span_1</span>
<span id="span_2">span_2</span>
</div>
<div id="div_2">
<span id="span_3">span_3</span>
<span id="span_4">span_4</span>
</div>
正しい方法
$('#span_1, #span_2').wrapAll('<div id="test"></div>');
リファレンスは以下になる。
関連記事
-
-
国土地理院のAPIを使用して無料でジオコーディング(住所→経度緯度)を行う方法
GoogleMapAPIでジオコーディングをするには、支払い情報を登録したアカウ ...
-
-
jQueryで同サーバ内のCSVを読み込み、配列やオブジェクトとして取り扱う方法
先日バニラJavaScriptで同サーバ内のCSVを読み込み、配列として取り扱う ...
-
-
Javascript / jQueryにて特定の要素内の文字数が〇文字以上の場合に丸める方法
サイトの特定の要素内の文字数が〇文字以上の場合に「コンテンツコンテ……」のように ...
-
-
jQueryで特定のdata属性をセレクタとして指定する方法
jQueryで特定のdata属性をクリックした際に何らかのイベントを実行したかっ ...
-
-
jQueryにて指定した要素の親要素を削除する方法
jQueryにて指定した要素の親要素を削除したいケースがあった。通常の場合だと親 ...