javascript - 获取元素的css定义
问题描述
有没有快速检索width
元素的 CSS 定义(或任何其他 CSS 属性)的方法?
笔记
- 我需要知道实际定义,例如
80%
or42vw
,而不是计算的像素尺寸。 - 宽度可以在不同的 CSS 选择器上设置,如下面的代码所示
这是我拥有的标记/ CSS 示例:
body div > section {
width: 30%
}
#content section {
width: auto
}
first {
width: 75% !important
}
<body>
<div id="content">
<section class="first"> ... </section>
</div>
</body>
问题:我想通过 JS 找出<section>
宽度为75%
.
不幸的是,getMatchedCSSRules()
这正是我所需要的,但它已被弃用并已从浏览器中删除。
解决方案
我想你正在寻找这个。您需要用百分比转换。
$(window).on("load", function(){
var f = $("section").width() / $("section").parent().width() * 100;
console.log(f+"%");
});
body div > section {
width: 30%;
}
#content section {
width: auto;
}
.first {
width: 75% !important;
border: 1px solid red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="content">
<section class="first"> ... </section>
</div>
推荐阅读
- java - 使用 SQL 进行单元测试
- django - 如何仅在视图集中的 django REST 中的 PUT 请求上设置身份验证和权限?
- c# - 空单元格未设置为 DateTime 类型
- java - 如何修复 ArrayIndexOutOfBounds 异常:ArrayDeque 中的 -1
- javascript - 如何在文档点击功能中设置 keydown 事件?
- c# - Activator.CreateInstance 在一种方法中工作,但在另一种方法中抛出 AmbiguousMatchException
- android - Firebase - 未找到 GetTokenResult、getExpirationTimestamp()
- java - 为什么 Google App Engine MySQL JDBC URL 无法连接到数据库?
- php - 在 Symfony 3.2 网站上在线添加捆绑包
- java - 拉伸屏幕尺寸时最左角的位置圆 - JavaFX