web api interface
SVGMarkerElement
The SVGMarkerElement interface provides access to the properties of <marker> elements, as well as methods to manipulate them. The <marker> element defines the graphics used for drawing marks on a shape.
The following properties and methods all return, or act on the attributes of the <marker> element represented by SVGMarkerElement.
Instance properties
This interface also inherits properties from its parent, SVGElement.
-
markerUnitsRead only- : Returns an
SVGAnimatedEnumerationobject, with one of the following values:- 0
- :
SVG_MARKERUNITS_UNKNOWNwhich means that themarkerUnitsattribute has a value other than the two predefined keywords.
- :
- 1
- :
SVG_MARKERUNITS_USERSPACEONUSEwhich means that themarkerUnitsattribute has the keyword valueuserSpaceOnUse.
- :
- 2
- :
SVG_MARKERUNITS_STROKEWIDTHwhich means that themarkerUnitsattribute has the keyword valuestrokeWidth.
- :
- 0
- : Returns an
-
markerWidthRead only- : Returns an
SVGAnimatedLengthobject containing the width of the<marker>viewport.
- : Returns an
-
markerHeightRead only- : Returns an
SVGAnimatedLengthobject containing the height of the<marker>viewport.
- : Returns an
-
orientTypeRead only- : Returns an
SVGAnimatedEnumerationobject, with one of the following values:- 0
- :
SVG_MARKER_ORIENT_UNKNOWNwhich means that theorientattribute has a value other than the two predefined keywords.
- :
- 1
- :
SVG_MARKERUNITS_ORIENT_AUTOwhich means that theorientattribute has the keyword valueauto.
- :
- 2
- 0
- : Returns an
-
- : A string defining how the marker is rotated when it is placed at its position on the shape. It reflects the
orientattribute of the<marker>element.
- : A string defining how the marker is rotated when it is placed at its position on the shape. It reflects the
-
orientAngleRead only- : Returns an
SVGAnimatedAngleobject containing the angle of theorientattribute.
- : Returns an
-
refXRead only- : Returns an
SVGAnimatedLengthobject containing the value of therefXattribute of the<marker>.
- : Returns an
-
refYRead only- : Returns an
SVGAnimatedLengthobject containing the value of therefYattribute of the<marker>.
- : Returns an
-
viewBoxRead only- : Returns an
SVGAnimatedRectobject containing anSVGRectwhich contains the values set by theviewBoxattribute on the<marker>.
- : Returns an
-
preserveAspectRatioRead only- : Returns an
SVGPreserveAspectRatioobject which contains the values set by thepreserveAspectRatioattribute on the<marker>viewport.
- : Returns an
Instance methods
This interface also inherits methods from its parent, SVGElement.
setOrientToAuto()- : Sets the value of the
orientattribute toauto.
- : Sets the value of the
setOrientToAngle()- : Sets the value of the
orientattribute to a specific angle value.
- : Sets the value of the
Examples
The following SVG will be referenced in the examples.
<svg id="svg" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<defs>
<marker
id="arrow"
viewBox="0 0 10 10"
refX="5"
refY="5"
markerWidth="6"
markerHeight="6"
orient="90">
<path d="M 0 0 L 10 5 L 0 10 z" />
</marker>
</defs>
</svg>
Finding the Width of the Marker
The markerWidth property returns an SVGAnimatedLength which contains an SVGLength with the value of the markerWidth attribute.
let marker = document.getElementById("arrow");
console.log(marker.markerWidth.baseVal.value); // 6
Updating the Orientation Angle
In the following example the value of the orient attribute is updated using setOrientToAngle() using an SVGAngle created using createSVGAngle().
let svg = document.getElementById("svg");
let marker = document.getElementById("arrow");
console.log(marker.orientAngle.baseVal.value); // value in SVG above - 90
let angle = svg.createSVGAngle();
angle.value = "110";
marker.setOrientToAngle(angle);
console.log(marker.orientAngle.baseVal.value); // new value - 110