selection.append - 要素を追加する

投稿日: / 更新日:

d3.jsのselection.append()は、要素を追加するためのAPIです。

サンプルコード

<div></div>
// div要素を選択
var selection = d3.select( "div" ) ;

// div要素に新しくinput要素を追加 (タグ名で指定)
selection.append( "input" ) ;

// div要素に新しくinput要素を追加 (関数で指定)
selection.append( function() {
	var inputElement = document.createElement( "input" ) ;
	return inputElement ;
} ) ;

デモ

構文

selection = selection.append( string || function )
引数
項目説明
string追加したい要素のタグ名を文字列で指定する。指定したタグ名の要素が新しく生成(createElement)される。名前空間を指定する場合、ns:tagとプレフィクスを付けて指定する。svgxhtmlxlinkxmlxmlnsに関しては、プレフィクスを指定しなくても認識される。
function関数を指定すると、戻り値を値として指定できる。この関数は、直前でdata()を利用した場合、第1引数で配列の値、第2引数でインデックス番号を受け取る。関数の戻り値は、タグ名を表す文字列ではなく、要素(ノード)でなければいけない。
戻り値
項目説明
selection引数を指定してHTMLを変更した場合は、d3.selectionオブジェクトが戻り値となる。

ノート

文字列ならタグ名
引数が文字列なら、そのタグ名を指定する。
関数なら要素
引数が関数なら、戻り値が要素(ノード)になるようにして指定する。関数でタグ名(string)を戻り値にした場合、エラーが発生する。
prepend()はどうやる?
追加ではなく、前に挿入したい場合はinsert()を利用する。