当前位置: 首页 > 面试题库 >

JavaScript:查找DIV的行高,而不是CSS属性,而是实际的行高

翟淮晨
2023-03-14
问题内容

假设我有一个DIV:<div></div>我想用JS找出它的 行高 。我知道可以检查style属性style.lineHeight,但是我想检查
实际的 line-height ,而没有它取决于CSS规则的存在。

假设字体系列和字体大小相同,则两者应输出相同的 line-height

<div>One line of text</div>
<div>Two <br /> Lines of text</div>

如何使用JavaScript 获取元素的 行高


问题答案:

答案实际上是使用.clientHeight。正如 Gaby 所说,这并不是真正可靠/可信赖的。但是,是!这里:

function getLineHeight(element){
   var temp = document.createElement(element.nodeName);
   temp.setAttribute("style","margin:0px;padding:0px;font-family:"+element.style.fontFamily+";font-size:"+element.style.fontSize);
   temp.innerHTML = "test";
   temp = element.parentNode.appendChild(temp);
   var ret = temp.clientHeight;
   temp.parentNode.removeChild(temp);
   return ret;
}

将元素的属性“克隆”到新元素中,获取新clientHeight元素,删除临时元素,然后返回其高度;



 类似资料:
  • 问题内容: 我有div元素,其中定义了left和top,没有绝对位置,我想使用jQuery读取left和top值。 使用可以$(“#MyId”).css(“left”)在IE浏览器(IE8)中提供预期的结果,但在Chrome中,它返回“自动”,尽管这些值是以元素样式显式编写的。 注意IE和Chrome之间的区别。 另外,这在jQuery 1.4.2中运行良好,在jQuery 1.4.3及更高版本中

  • 问题内容: 只是想知道是否有可能以某种方式使CSS属性插入html代码而不是在上插入字符串或类似这样的元素: 这将非常方便…可以通过Javascript完成,但是使用CSS确实可以使生活更轻松:) 问题答案: 不幸的是,这是不可能的。根据规格: 生成的内容不会更改文档树。特别是,它不会反馈到文档语言处理器(例如,用于重新解析)。 换句话说,对于字符串值,这意味着始终按字面意义对待该值。无论使用哪种

  • 下面是BeanFactoryPostProcessor的简要功能 BeanFactoryPostProcencer允许您修改实际的bean定义,而不是创建它时的实例。Spring IoC容器将允许BeanFactoryPostProcess读取配置元数据,并可能在容器实际实例化任何bean之前对其进行更改。属性持有人配置是BeanFactoryPostProcess的示例,用于将一些属性值外部化到

  • 问题内容: 实体类 服务等级 对于示例数据集:事件(’add’,’‘,‘2018-01-01 00:00:10’)事件(’add’,’‘,‘2018-01-01 00:10:10’)事件(’delete’,’‘,‘2018-01-01 00:20:00’)事件(’edit’,``,‘2018-01-01 00:30:00’) JPA findAll()查询返回重复的行: 事件(’add’,’‘,‘

  • 我知道有很多与此相关的问题,但我似乎找不到一个能帮助我解决问题的答案。 我正在使用os.walk()循环浏览主文件夹中的子文件夹,其中包含文件夹和文件。 因此,我使用这段代码根据子文件夹名称创建一个新的文本文件。但是,这将返回folder/.txt,这意味着dirs将返回“/”,而files将返回['file.txt','file2.txt']。 如何修复它,使dirs返回['主文件夹/传递文件夹

  • 问题内容: 在复杂的应用程序中,我需要导入用户提供的“脚本”。理想情况下,脚本应具有 所以我只是 然而,大家都知道,用户的脚本 执行 尽快运行。这意味着脚本可以是这样的: 脚本一经产生就被调用。 我需要的是一种方法: 首先检查它是否具有init(),execute()和cleanup() 如果它们存在,一切都会很好 如果不存在,抱怨 不要运行任何其他代码,或者至少不要运行,直到我知道没有init(