要素を挿入したり移動したりのDOM操作のいろいろをちょっとまとめてみました。
挿入系
before() | 指定した要素の前に挿入する。 $(‘挿入先’).before(‘挿入する要素’); |
---|---|
after() | 指定した要素の後に挿入する。 $(‘挿入先’).after(‘挿入する要素’); |
prepend() | 指定した要素内部の先頭に挿入する。 $(‘挿入先’).prepend(‘挿入する要素’); |
append() | 指定した要素内部の最後に挿入する。 $(‘挿入先’).append(‘挿入する要素’); |
JavaScript
1 2 3 4 5 6 | $( function () { $( 'ol#before' ).before( '<p>前に挿入</p>' ); $( 'ol#after' ).after( '<p>後に挿入</p>' ); $( 'ol#prepend' ).prepend( '<li>0番目</li>' ); $( 'ol#append' ).append( '<li>4番目</li>' ); }); |
‘挿入する要素’の部分は以下のように$(”)の形でも記述できるようです。
この場合、要素の挿入ではなく別個所からの移動になります。
1 2 3 4 5 6 | $( function () { $( 'ol#before' ).before($( '#sample1' )); $( 'ol#after' ).after($( '#sample2' )); $( 'ol#prepend' ).prepend($( '#sample3' )); $( 'ol#append' ).append($( '#sample4' )); }); |
移動系
insertBefore() | 指定した要素の前に移動する。 $(‘移動する要素’).insertBefore(‘挿入先’); |
---|---|
insertAfter() | 指定した要素の後に移動する。 $(‘移動する要素’).insertAfter(‘挿入先’); |
prependTo() | 指定した要素内部の先頭に移動する。 $(‘移動する要素’).prependTo(‘挿入先’); |
appendTo() | 指定した要素内部の最後に移動する。 $(‘移動する要素’).appendTo(‘挿入先’); |
JavaScript
1 2 3 4 5 6 | $( function () { $( 'ol#insertBefore li:first-child' ).insertBefore( 'ol#insertBefore' ); $( 'ol#insertAfter li:first-child' ).insertAfter( 'ol#insertAfter' ); $( 'ol#prependTo li:last-child' ).prependTo( 'ol#prependTo' ); $( 'ol#appendTo li:first-child' ).appendTo( 'ol#appendTo' ); }); |
‘挿入先’の部分は以下のように$(”)の形でも記述できるようです。
1 2 3 4 5 6 | $( function () { $( 'ol#insertBefore li:first-child' ).insertBefore($( 'ol#insertBefore' )); $( 'ol#insertAfter li:first-child' ).insertAfter($( 'ol#insertAfter' )); $( 'ol#prependTo li:last-child' ).prependTo($( 'ol#prependTo' )); $( 'ol#appendTo li:first-child' ).appendTo($( 'ol#appendTo' )); }); |
書き換え系
text() | 指定した要素内のテキストを変更する。 $(‘変更する要素’).text(‘変更後の内容’); |
---|---|
html() | 指定した要素内のhtmlを含むテキストを変更する。 $(‘変更する要素’).html(‘変更後の内容’); |
replaceWith() | 指定した要素を置き換える。 $(‘変更する要素’).replaceWith(‘置換後の内容’); |
replaceAll() | 指定した要素を置き換える。 $(‘置換後の内容’).replaceAll(‘変更する要素’); |
JavaScript
1 2 3 4 5 6 | $( function () { $( 'div#text div' ).text( '<p>変更後の内容</p>' ); $( 'div#html div' ).html( '<p>変更後の内容</p>' ); $( 'div#replaceWith div' ).replaceWith( '<p>変更後の内容</p>' ); $( '<p>変更後の内容</p>' ).replaceAll( 'div#replaceAll div' ); }); |
wrap系
wrap() | 対象要素を指定したHTMLで包む。要素が複数ある場合は、それぞれを包む。 $(‘対象要素’).wrap(‘外包するHTML’); |
---|---|
wrapAll() | 対象要素を指定したHTMLで包む。要素が複数ある場合は、それらをまとめて包む。 対象要素以外が含まれる場合、外包の外側に出される。 $(‘対象要素’).wrapAll(‘外包するHTML’); |
wrapInner() | 対象要素の中身を指定したHTMLで包む。 $(‘対象要素’).wrapInner(‘外包するHTML’); |
JavaScript
1 2 3 4 5 | $( function () { $( 'div#wrap p' ).wrap( '<div></div>' ); $( 'div#wrapAll p' ).wrapAll( '<div></div>' ); $( 'div#wrapInner' ).wrapInner( '<div></div>' ); }); |
コメントが承認されるまで時間がかかります。