获取真实的内容大小

时间:2011-06-13 00:03:24

标签: javascript jquery size overflow

我想知道是否可以在javascript / jQuery中获取内容(不是div)的大小。因此,如果该框的高度为200px,但只有一行文本,则内容大小约为12px。

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

您可以创建元素文本内容的范围,并使用范围的属性:

/**
  * @param object o DOMElement
  * @return int|null boundingHeight
  **/
function fx(o)
{
  if(document.createRange)
  {
    var r = document.createRange();
        r.selectNodeContents(o);
    return r.getBoundingClientRect().height;
  }
  else
  {
    var r = document.body.createTextRange();
        r.moveToElementText(o)
    return r.boundingHeight;
  }
  return null;
}

http://jsfiddle.net/doktormolle/wArMN/

答案 1 :(得分:0)

如果您引用的是字体大小,可以使用以下方法进行检查:

$('div').click(function()
{
    alert($(this).css('font-size'));
});

Demo