通过 JS 获取 style.display 属性仅在设置内联时才有效?

2023-11-29

我正在尝试获取页面上 div 的 DISPLAY 属性。我似乎只能抓住它,如果它是通过内联样式属性设置的。

如果我的JS是这样的:

alert(document.getElementById('myDiv').style.display);

它将使用以下 HTML 警告“阻止”:

<div id="myDiv" style="display: block;"></div>

但是,如果我通过外部样式表设置它:

#myID {display: block}

和我的 HTML:

<div id="myDiv"></div>

那么我的警报是一个空字符串。

为什么是这样?


这是CSS的一个“特性”。要真正获得样式,您需要使用window.getCompatedStyle(大多数浏览器)或元素.currentStyle(IE浏览器)。

要实施的修复window.getCompatedStyleIE 可以在以下位置找到:http://snipplr.com/view/13523/getcompulatedstyle-for-ie/。此外,请参阅此页面了解更多信息:http://www.quirksmode.org/dom/getstyles.html#link7(底部附近有一个跨浏览器 getCompulatedStyle 替代方案的脚本)。

这应该适用于所有浏览器(基于上面 QuirksMode 链接的功能):

var elem = document.getElementById("myDiv");
if (elem.currentStyle) {
    var displayStyle = elem.currentStyle.display;
} else if (window.getComputedStyle) {
    var displayStyle = window.getComputedStyle(elem, null).getPropertyValue("display");
}
alert(displayStyle);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 JS 获取 style.display 属性仅在设置内联时才有效? 的相关文章

随机推荐

  • 如何在可能没有托管配置提供程序的应用程序中使用托管配置?

    我正在开发一个可在 2 个不同的 Android 环境 消费者和企业市场 中运行的应用程序 假设它是一个短信应用程序 需要管理十几个配置参数 第一个环境是未启用 Android Enterprise AfW 功能的标准 Android 设备
  • 在哪里可以找到 http url 方案 rfc

    在RFC3986中 它排除了RFC1738中定义各个URI方案的特定语法的部分 并且文档说这些部分将作为单独的文档进行更新 但我找不到它 任何人都可以告诉我在哪里可以找到更新的单独文档 我想写一个HTTP URL方案解析强文本 所以我需要引
  • 哪个 NuGet 包包含 System.Web.Routing?

    我想使用 NuGet 处理我的 Web 应用程序引用 哪个 NuGet 包包含 System Web Routing I ve 搜索了 NuGet 网站 它不在 NuGet 包中 在里面System Web程序集 NET Framework
  • Django 不会为新的应用程序模型创建新的 sqlite 表

    我对 Django 很陌生 我遇到了新模型 以及我制作的新应用程序 博客 的问题 配置模型和 makemigration 后 表 blog post 不存在 这是我所做的所有过程 我正在遵循官方教程 这是我的博客 models py fro
  • JQuery - 删除具有特定类的类子元素[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 如果我有这个 html div class parent div class child div div class blackSheep div div class child di
  • Delphi中将字符串分割成固定长度部分的快速方法

    我需要将一个字符串拆分为具有固定长度子字符串的 TStringList 目前我使用 procedure StrToStringList ASource string AList TStrings AFixedLen Integer begi
  • Python隐藏控制台窗口

    我创建了一个小的 Python 应用程序 我希望它在进程中间隐藏控制台窗口 因此将其重命名为 pyw 并不能解决问题 最好有某种功能来最小化窗口 有什么想法吗 在 Windows 上您可以使用win32api from win32 impo
  • SWIFT 如何创建 NSCoding 子类并从另一个类调用它?

    我在 NSCoding 上发现了这段黑色代码 它几乎确实想要我想要的 我找到它的地方的链接如下 如何在其他类中创建 NSCoding 类和用户 下面的代码不起作用 我希望有人能帮助我解决这个问题 import Foundation impo
  • 使用 R 抓取“aspx”页面

    有人可以帮助我或给我一些建议如何从此网址中抓取表格 https www promet si portal sl stevci prometa aspx 我尝试使用说明和包rvest httr 和 html但对于这个特定的网站没有任何成功 谢
  • 第二次调用表单时未处理表单加载事件

    为什么以下不起作用 两种形式 第一个调用第二个 第二个表单上有一个 DataGridView 它没有列 它们是由程序添加的 以及一个 DataGridViewButtonColumn 第一次调用 Form2 效果很好 但第二次调用它时 按钮
  • TextView 中有超链接文本

    我想在我的页面中添加一些文本作为超链接TextView就像下图一样 另外 与上图类似 我希望通过超链接打开相应的设置窗口 这怎么可能 编辑 为了让我的问题更具体 我想在单击这些文本时打开蜂窝设置 所以 我不知道在 String 对象中使用
  • S3 VPC 终端节点存储桶策略

    我有多个源自单个 VPC 的 EC2 实例 我想为我的 s3 分配一个存储桶策略 以确保仅允许该 VPC 流量访问该存储桶 因此我为该 VPC 创建了一个端点 并添加了所有路由表中的策略和路由 我向我的存储桶分配了以下策略 Version
  • 如何使用 Visual Basic 2010 Express Edition 编译 x64

    我发现了一个关于 Visual C 的论坛帖子 Visual C 2008 Express 版和 64 位目标 但是我如何在下面开发x64应用程序Visual Basic 2010 精简版 我没有安装 Visual Basic 2010 E
  • 动态更改 AWS CodePipeline 上的分支

    我正在寻找一个关于如何在 CodePipeline 中运行参数化 自定义 构建的良好解决方案 其中分支可以动态更改 关于这个问题的一些背景知识 我需要一个将在某个分支上启动的按需环境 我们已经使用 Bamboo CI 服务器作为基础设施的一
  • 使用 glBufferData 后可以删除浮点数组吗?

    我正在研究OpenGL API 我想问你是否可以在将浮点数组传递给OpenGL后删除它 示例代码 GLuint VBO float vertices new float 2 vertices 0 0 0f vertices 1 1 0f g
  • 使用浏览器后,Angular $location 不会更新

    有人遇到过这种行为吗 对此没有太多提及 其他帖子性质不同 这似乎与有关浏览器行为的文档不一致 当用户访问时 将 URL 与浏览器同步 更改地址栏 单击后退或前进按钮 或单击历史记录链接 单击链接 https docs angularjs o
  • 由于构建包错误,Heroku 未推送 Django 应用程序

    我正在尝试使用 Python 将 Django 项目上传到 Heroku 我的应用程序是基于 Python 3 6 1 构建的 当我将应用程序推送到 heroku 时 我在终端中收到以下错误消息 remote Compressing sou
  • 无法在 Windows 上设置 Anaconda:路径问题

    我一直在尝试在 Windows 8 1 上设置 Anaconda 1 8 但始终无法让 Windows 检测到它 我尝试通过编辑环境变量并添加将其添加到系统路径中C Anaconda 我尝试过 Cygwin 路线并尝试编辑 bashrc a
  • Typescript:为什么数组包含在数组联合类型上不起作用?

    我有以下类型 type Test roles nonProfit nonProfitPrivateDetails NonProfitPrivateDetails roles artist artistPrivateDetails Artis
  • 通过 JS 获取 style.display 属性仅在设置内联时才有效?

    我正在尝试获取页面上 div 的 DISPLAY 属性 我似乎只能抓住它 如果它是通过内联样式属性设置的 如果我的JS是这样的 alert document getElementById myDiv style display 它将使用以下