外部スクリプト:要素の包み込み

DOMのgetElementByIdcreateElementappendChildを利用したユーザ関数でCSSレイアウトの幅を広げる目的で作成しました。DIV要素の挿入と指定ID要素の内包(ラップ)を行います。各記事がブロック要素で囲まれIDが振られていることが条件のjavascriptです。

HTMLとCSSをある程度理解している中級者向けです。ローカルやプレビュでテストしてから使用してください。

ダウンロード > wrap.js

書式:wrap ( contentID, targetID, add, after )

wrap ( 呼び出しID[文字列], 受け手ID[文字列], 追加フラグ[真偽値], 追加or挿入[真偽値] )


ルール1:呼び出しIDが不正または無い場合は何もせず処理を終了。

#block_0

wrap( 'block_X', 'block_Y', 0, 1 );

ルール2:受け手IDが無い場合には呼び出しIDの直後にDIV要素を作り、受け手IDの文字列をIDに設定して終了。

#block_1

#block_2

#block_3

wrap( 'block_1', 'new_0', 0, 1 );

ルール3:受け手IDがすでにある場合には、呼び出しIDの要素をラップして終了。

#block_4

#new_1

#block_5

#block_6

wrap( 'block_5', 'new_1', 0, 1 );

ルール4:ルール2の場合でも追加フラグが立っていれば、呼び出しIDのラップも同時に行って終了。

#block_7

#block_8

#block_9

wrap( 'block_7', 'new_2', 1, 1 );

サンプル1:<!--topentry-->〜<!--/topentry-->内でhoge<%topentry_no>を呼び出しIDにした想定。

#block_10

#block_11

#block_12

wrap( 'block_10', 'new_3', 1, 1 );wrap( 'block_11', 'new_3', 1, 1 );wrap( 'block_12', 'new_3', 1, 1 );

サンプル2:追加フラグをfalseで実行することで、最初のhoge<%topentry_no>を除いた記事群を任意ID付きブロックでラップ可能。これが主目的。

#block_13

#block_14

#block_15

wrap( 'block_13', 'new_4', 0, 1 );wrap( 'block_14', 'new_4', 0, 1 );wrap( 'block_15', 'new_4', 0, 1 );


ルール5:第4引数は受け手ID要素のどこに呼び出しID要素をラップするかのフラグ。真ならば末尾に偽ならば先頭に挿入される。既存の受け手IDに第3フラグtrue、第4フラグfalseで実行することで記事群をアンシフトする。

id="test_6"

#block_16

#block_17

#block_18

wrap( 'block_16', 'test_6', 1, 0 );wrap( 'block_17', 'test_6', 1, 0 );wrap( 'block_18', 'test_6', 1, 0 );

サンプル3:<!--topentry-->〜<!--/topentry-->内で作成した受け手ID要素に、任意の呼び出しID要素をラップすることでグルーピングできる。

id="test_7"

#block_19

#block_20

#block_21

wrap( 'block_19', 'new_5', 0, 1 );wrap( 'block_20', 'new_5', 0, 1 );wrap( 'block_21', 'new_5', 0, 1 );
wrap( 'menu_1', 'new_5', 0, 1 );

サンプル4:入れ子にラップすることも可能。トップ記事を差別化したレイアウトを作る。

id="test_8"

#block_22

#block_23

#block_24

wrap( 'block_22', 'new_6', 0, 1 );wrap( 'block_23', 'new_6', 0, 1 );wrap( 'block_23', 'new_6', 0, 1 );
wrap( 'new_6', 'new_7', 0, 1 );wrap( 'menu_2', 'new_6', 0, 1 );


サンプル5:ルール5を使い<!--topentry-->〜<!--/topentry-->の外にある呼び出しID要素を記事の間に挿入する。

id="test_9"

#block_25

#block_26

#block_27

wrap( 'block_25', 'new_8', 0, 1 );wrap( 'block_26', 'new_8', 0, 1 );wrap( 'block_28', 'new_8', 0, 1 );
wrap( 'new_8', 'banner', 0, 0 );

作成日 2006-03-03

©2004-2006 FC2