我試圖訪問該屬性:
$(text)[0].offsetTop
它工作正常,在Chrome,但在Firefox我得到 '未定義'。 有什麼辦法可以在所有瀏覽器中做到這一點?
參見:http://jsfiddle.net/qgqr5m6n/3/
$("body").css("margin", "0px");
var svgNS = "http://www.w3.org/2000/svg";
var svgBox = document.createElementNS(svgNS, "svg");
$("body").append(svgBox);
var text = document.createElementNS(svgNS, "text");
$(svgBox).append(text);
text.innerHTML = "Hello World";
$(text).attr({ "dominant-baseline": "hanging"});
console.log($(text)[0].offsetTop);
$(text).attr({ "x": 0 , "y": 0 });
如果你想知道什麼,我需要這樣的: 我要對齊的可變字體大小的文本在一個矩形的垂直中心。然而,字體大小總是包含在字母的實際頂部之上的一個小間隙。我想要的是實際的像素高度。字母上方的這個間隔正好是我將「顯性 - 基線」設置爲「掛起」之後的「offsetTop」的值。
[this]的可能重複(http://stackoverflow.com/questions/6777506/offsettop-vs-jquery-offset-top) – 2014-09-20 17:03:17