如果有任何方法可以测量文本节点的高度而不包装?
我尝试过无用的原生方法node.style.height
,然后是node.clientHeight
,然后是jQuery方法$(node).height()
它给了我javascript错误Uncaught TypeError: Cannot read property 'height' of undefined
答案 0 :(得分:2)
您可以尝试获取TextNode的边界框(使用范围,将高度设置为边界框的高度):
var height = 0;
if (document.createRange) {
var range = document.createRange();
range.selectNodeContents(textNode);
if (range.getBoundingClientRect) {
var rect = range.getBoundingClientRect();
if (rect) {
height = rect.bottom - rect.top;
}
}
}
并将{strong> textNode 替换为document.body.firstChild;
。
部分代码取自Measure bounding box of text node in Javascript
<强> DEMO 强>