selection.call - セレクションに関数を実行する

投稿日: / 更新日:

d3.jsのselection.call()は、d3.selectionオブジェクトに対して、指定した関数を実行するメソッドです。each()が各要素、それぞれに実行するのに対して、こちらはセレクション(各要素のまとまり)に実行します。

サンプルコード

<ul>
	<li>1つ目のLI</li>
	<li>2つ目のLI</li>
	<li>3つ目のLI</li>
	<li>4つ目のLI</li>
	<li>5つ目のLI</li>
</ul>
// 全てのli要素を選択する
d3.selectAll( "li" )

// 各要素に関数を実行する
.call( function( selection, a, b ) {
	// selection = d3.selectionオブジェクト
	// a = "1つ目の引数"
	// b = "2つ目の引数"
	// ... 引数は任意の数だけ指定可能
	// this = d3.selectionオブジェクト (第1引数と同じ)

	// セレクションのスタイルを変更する
	selection.style( "color", "red" ) ;
}, "1つ目の引数", "2つ目の引数" ) ;

デモ

構文

selection = selection.call( function [, argument [, arguments [, ... ] ] ] )
引数
項目説明
functionセレクションに対して実行する関数を指定する。この関数は、第1引数にd3.selectionオブジェクトをとり、第2引数以降は指定した任意の値となる。この関数内のthisは、第1引数と同じd3.selectionオブジェクト。
argument第2引数以降に、第1引数に指定した関数へ渡す引数を指定できる。任意の数だけ指定できる。
戻り値
項目説明
selection関数を実行した後のd3.selectionオブジェクトが戻り値となる。