SVGTransformList: replaceItem() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

replaceItem()SVGTransformList インターフェイスのメソッドで、リスト内の既存のアイテムを新しいアイテムに置き換えます。

挿入されるアイテムはアイテムそのものであり、コピーではありません。

  • newItem がすでにリスト内に存在する場合は、このリストに挿入される前に、以前のリストから除去されます。

  • アイテムがすでにこのリスト内に存在する場合は、置き換えられるアイテムの index は、アイテムが除去される前であることに注意してください。

構文

js
replaceItem(newItem, index)

引数

newItem

リストに挿入する SVGTransform アイテムです。

index

integer です。新しいアイテムが既存のアイテムを置き換えるインデックスを unsigned long で表します。

返値

SVGTransform オブジェクトで、リストに追加されたアイテムを表します。

例外

このメソッドは、次の型の DOMException を発生させる可能性があります。

NoModificationAllowedError DOMException

SVGTransformList が読み取り専用属性に対応する場合、またはオブジェクト自体が読み取り専用である場合に発生します。

IndexSizeError DOMException

インデックス番号が numberOfItems 以上であった場合に発生します。

リスト内の座標変換尾の置き換え

html
<svg width="200" height="200" id="mySvg">
  <rect width="100" height="100" fill="blue" transform="translate(50,50)" />
</svg>
js
const svgElement = document.querySelector("svg");
const rectElement = svgElement.querySelector("rect");

// <rect> 要素の座標変換リストへのアクセス
const transformList = rectElement.transform.baseVal;

// 新しい回転座標変換を作成
const rotateTransform = svgElement.createSVGTransform();
rotateTransform.setRotate(45, 50, 50);

transformList.replaceItem(rotateTransform, 0);

// 新しい変換の詳細をログ出力
console.log(`New Transformation Type: ${transformList.getItem(0).type}`); // 出力: 4 (e.g. SVG_TRANSFORM_ROTATE)

仕様書

Specification
Scalable Vector Graphics (SVG) 2
# __svg__SVGNameList__replaceItem

ブラウザーの互換性

関連情報