问题描述
|
我想知道是否有可能在javascript / jQuery中获取内容的大小(而不是div)。因此,如果框的高度为200像素,但只有一行文本,则内容大小将为12像素左右。
感谢你的帮助
解决方法
您可以创建元素的文本内容范围,并使用该范围的属性:
/**
* @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/
, 如果您引用的是字体大小,则可以使用以下命令进行检查:
$(\'div\').click(function()
{
alert($(this).css(\'font-size\'));
});
演示