网站搜索

javascript - 获取文本节点的宽度


一点(经过 JS 修改的)HTML 可能看起来像这样:

<div style="width: 50px;">1,234,567</div>

我如何检测文本节点是否比容器宽?

答案#1

灵感来源于如何检测 div 元素中的溢出?:

<!-- Overflowing -->
<div style="width: 50px;">1,234,567</div>

<!-- Not overflowing -->
<div>1,234,567</div>

JavaScript(不使用 jQuery)检测:

var divs = document.getElementsByTagName('div');
var i, div, overflowing;

for (i=0; i<divs.length; i++) {
    div = divs[i];
    overflowing = div.offsetWidth < div.scrollWidth;
    console.log(overflowing);
}

http://jsfiddle.net/mattball/pYj5P/