selection.attr - 属性を取得、変更する
投稿日: / 更新日:
d3.jsのselection.attr()
は、属性を取得、または変更するためのAPIです。
サンプルコード
<input type="text" width="100">
// input要素を取得
var selection = d3.select( "input" ) ;
// input要素のvalue属性を取得 (第2引数なし)
var attr = selection.attr( "value" ) ;
// value要素に新しく値を指定
selection.attr( "value", "200" ) ;
// value要素を削除
selection.attr( "value", null ) ;
// 値を関数で指定 (戻り値が値となる)
selection.attr( "value", function( d, i ) {
// d=関連付けられたデータ
// i=インデックス番号
// this=要素
return "設定したい値" ;
} ) ;
デモ
構文
value || selection = selection.attr( name || function [, value || null ] )
項目 | 説明 |
---|---|
name | 対象となる属性名を指定する。名前空間もxlink:href というように指定できる。 |
value | 省略可。第2引数には新しい値を指定する。 |
null | 第2引数にnull を指定した場合、要素から属性を削除する。 |
function | 第2引数を関数で指定することもできる。ここで指定した関数は、第1引数に要素に関連付けられたデータ、第2引数にインデックス番号をとる。また、this で要素を参照できる。戻り値が値として設定される。 |
項目 | 説明 |
---|---|
value | 引数を1つだけ指定して、属性値を取得した時は、属性値が戻り値となる。 |
selection | 引数を2つ指定した場合は、d3.selectionオブジェクトが戻り値となる。 |
ノート
- 1つなら取得
- 引数を1つ指定すると値の取得。
- 2つなら変更
- 引数を2つ指定すると値の変更。
- 削除はnull
- 値に
null
を指定すると属性の削除となる。d3ではこれが基本のようだ。 - フォーム系要素は?
- ラジオボタンやチェックボックスの状態や、テキストエリアの内容を確認したり変更するには、
d3.property()
を利用する。