JSFiddle - React, Tailwind, and code Playground
HTML
<body>
<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="50%">
<defs>
<marker id="Triangle" viewBox="0 0 20 20" refX="0" refY="10" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto">
<path d="M 0 0 L 20 10 L 0 20 z" />
</marker>
<marker id="Circle" viewBox="0 0 10 10" refX="4" refY="10" markerUnits="strokeWidth" markerWidth="6" markerHeight="6" orient="auto">
<circle cx="5" cy="5" r="3" fill="black" />
</marker>
<marker id="Rect" viewBox="0 0 20 20" refX="0" refY="10" markerUnits="strokeWidth" markerWidth="10" markerHeight="10" orient="auto">
<rect width="10" height="10" fill="grey" />
</marker>
</defs>
<line id="line1" x1="20" y1="20" x2="120" y2="20" stroke="black" stroke-width="1" marker-end="url(#Triangle)" marker-start="url(#Circle)" />
</svg>
<input type="button" id="button1" value="Move line" />
<input type="button" id="button2" value="Move line" />
<input type="button" id="button3" value="Move line" />
<p>Each of the buttons above will move the line <i>with the line markers</i> in IE9, Chrome, Safari, and FireFox.</p>
<p>None of the buttons move the line markers in IE10.</p>
</body>
JavaScript
// All of these methods work in IE9, Chrome, FF, etc.
// None of them work correctly in IE10
$("#button1").click(function () {
$("#line1")[0].setAttributeNS(null, "x1", 30);
$("#line1")[0].setAttributeNS(null, "y1", 30);
$("#line1")[0].setAttributeNS(null, "x2", 130);
$("#line1")[0].setAttributeNS(null, "y2", 30);
});
$("#button2").click(function () {
$("#line1")[0].setAttribute("x1", 50);
$("#line1")[0].setAttribute("y1", 50);
$("#line1")[0].setAttribute("x2", 150);
$("#line1")[0].setAttribute("y2", 50);
});
$("#button3").click(function () {
$("#line1")[0].x1.baseVal.value = 70;
$("#line1")[0].y1.baseVal.value = 70;
$("#line1")[0].x2.baseVal.value = 170;
$("#line1")[0].y2.baseVal.value = 70;
});