SVGTransformList: Methode replaceItem()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Die Methode replaceItem() der Schnittstelle SVGTransformList ersetzt ein vorhandenes Element in der Liste durch ein neues Element.
Das eingefügte Element ist das Element selbst und keine Kopie.
-
Wenn sich
newItembereits in einer Liste befindet, wird es aus seiner vorherigen Liste entfernt, bevor es in diese Liste eingefügt wird. -
Wenn sich das Element bereits in dieser Liste befindet, beachten Sie, dass der
indexdes zu ersetzenden Elements vor dem Entfernen des Elements bestimmt wird.
Die Zuweisung zu einem Index der Liste hat dieselbe Wirkung wie der Aufruf dieser Methode, mit der Ausnahme, dass kein Rückgabewert vorhanden ist.
Syntax
replaceItem(newItem, index)
Parameter
newItem-
Ein
SVGTransform-Element, das in die Liste eingefügt wird. index-
Ein
integer; der Index, an dem das neue Element das vorhandene ersetzen soll, als unsigned long.
Rückgabewert
Ein SVGTransform-Objekt; das eingefügte Element aus der Liste.
Ausnahmen
Diese Methode kann eine DOMException eines der folgenden Typen auslösen:
NoModificationAllowedErrorDOMException-
Wird ausgelöst, wenn
SVGTransformListeinem schreibgeschützten Attribut entspricht oder wenn das Objekt selbst schreibgeschützt ist. IndexSizeErrorDOMException-
Wird ausgelöst, wenn die Indexnummer größer oder gleich
numberOfItemsist.
Beispiele
>Ersetzen einer Transformation in der Liste
<svg width="200" height="200" id="mySvg">
<rect width="100" height="100" fill="blue" transform="translate(50,50)" />
</svg>
const svgElement = document.querySelector("svg");
const rectElement = svgElement.querySelector("rect");
// Access the transform list of the <rect> element
const transformList = rectElement.transform.baseVal;
// Create a new rotation transformation
const rotateTransform = svgElement.createSVGTransform();
rotateTransform.setRotate(45, 50, 50);
transformList.replaceItem(rotateTransform, 0);
// Log the details of the new transformation
console.log(`New Transformation Type: ${transformList.getItem(0).type}`); // Output: 4 (e.g. SVG_TRANSFORM_ROTATE)
Spezifikationen
| Spezifikation |
|---|
| Scalable Vector Graphics (SVG) 2> # __svg__SVGNameList__replaceItem> |