Получите истинный размер контента - PullRequest
2 голосов
/ 13 июня 2011

Мне интересно, возможно ли получить размер содержимого (не div) в javascript / jQuery.Таким образом, если высота блока составляет 200 пикселей, а текст содержит только одну строку, размер содержимого будет около 12 пикселей.

Спасибо за вашу помощь

Ответы [ 2 ]

3 голосов
/ 13 июня 2011

Вы можете создать диапазон текстового содержимого элемента и использовать свойства диапазона:

/**
  * @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/

0 голосов
/ 13 июня 2011

Если вы ссылаетесь на размер шрифта, вы можете проверить его следующим образом:

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

Демо .

...