test1 test3 test4
<svg width="150" height="150">
	<text id="test1" y="50">test1</text>
	<text id="test2" y="100">
		<tspan id="test3">test3</tspan>	
	</text>
	<tspan id="test4">test4</tspan>
</svg>

idCodeResultNote
test1document.getElementById("test1").getBBox().widthInteger in Chrome; Float in IE and Firefox.
test2document.getElementById("test2").getBBox().widthInteger in Chrome; Float in IE and Firefox.
test3document.getElementById("test3").getBBox().widthIE and Firefox can't get the BBox of a TSPAN and error out.
test4document.getElementById("test4").getBBox().widthIE and Firefox can't get the BBox of a TSPAN whether it's inside a TEXT or not.
test1document.getElementById("test1").getBoundingClientRect().widthInteger in IE, Chrome and Safari. Same width as "test2" in Chrome eventhough 1 is narrower than 2.
test2document.getElementById("test2").getBoundingClientRect().widthInteger in IE, Chrome and Safari. Same width as "test1" in Chrome eventhough 2 is wider than 1.
test3document.getElementById("test3").getBoundingClientRect().widthInteger in Chrome and Safari.
test4document.getElementById("test4").getBoundingClientRect().widthInteger in Chrome and Safari.
test1document.getElementById("test1").getComputedTextLength()Integer in Chrome; Float in IE and Firefox.
test2document.getElementById("test2").getComputedTextLength()Integer in Chrome; Float in IE and Firefox.
test3document.getElementById("test3").getComputedTextLength()Integer in Chrome; Float in IE and Firefox.
test4document.getElementById("test4").getComputedTextLength()A TSPAN which is not in a TEXT has no width