jquery - 在 Internet Explorer 中动态设置高度会转换为高度 : auto

标签 jquery internet-explorer

该脚本获取每个 span 元素的高度值并将其应用于其父 li 元素(我编写它是为了解决一些 float /布局问题)。它在 Firefox 和 Chrome 中完美运行:执行后,我检查 html,一切正常。

但是,在 IE 7 和 8 中(没有费心尝试 IE6,管它呢)它无法正常工作。相反,它将所有 li 的高度设置为 auto。

这是我的代码:

$(".fase ol > li").each(function(index) {
  var li_content_height = $('span', this).css('height');
  $(this).css('height', li_content_height )
});

和 HTML:

<div class="fase">
  <ol>
    <li>
      <span>blablablablabla</span>
    </li>
    <li>
      <span>blablablablabla</span>
    </li>
  </ol>
</div>

最佳答案

您是否尝试过使用 height相反?

var li_content_height = $('span').height() + $(this).height();
$(this).css('height', li_content_height);

如果您想要包括填充或边距的高度,那么您可以使用 outerHeight :

var heightWithPadding = $('span').outerHeight();
var heightWithPaddingAndMargin = $('span').outerHeight(true);

关于jquery - 在 Internet Explorer 中动态设置高度会转换为高度 : auto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3336440/

相关文章:

javascript - Windows 10 平板电脑浏览器 : soft keyboard very buggy

powershell - 如何关闭由 Invoke-WebRequest 打开的 IE session

jQuery 函数无法解析

jquery - 强制鼠标悬停/悬停效果在元素上

javascript - 悬停固定元素时允许在 DIV 中滚动

jquery - IE7 中 jQuery 选择器中的特殊字符

css - Internet Explorer z-index 错误?

javascript - 如何立即删除 css 转换?

jQuery 选项卡 - 长选项卡名称,小浏览器窗口 - 如何仍然显示在一行上?

css - IE 7 中的无序列表