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オブジェクトが戻り値となる。 |