Css:如何访问元素未使用的值
css: how to access a value that is not used by an element?
我有一个div,它的高度来自一个单独样式表中的CSS类。但这个高度有时会在Javascript中改变。我可以直接从样式表中读取CSS高度而不创建新元素吗?
你可以这样做:
var myDiv = $("#myId");
alert('initial height from css is: ' + myDiv.css("height"));
myDiv.css("height","50px");
alert('height modified by js is: ' + myDiv.css("height"));
// store modified height value
var height = myDiv.css("height");
// set height to an invalid value
myDiv.css("height","");
alert('height is now retrieved from css again: ' + myDiv.css("height"));
// restore height value
myDiv.css("height",height);
我在jsfiddle.net上创建了一个例子,你可以在这里查看它
这是可能的,只要高度变化是由已知原因引起的。
首先,保存当前的内联高度/类名。然后,重置class/height属性。然后,使用window.getComputedStyle
方法读取当前高度。最后,恢复class/height属性。让我们假设不需要删除类名,因为高度只需要通过设置内联height
属性来改变。然后:
function getCSSheight(elem) {
var style = window.getComputedStyle(elem, null);
return style.getPropertyValue("height"); //Returns 222px;
// Optionally: Use parseFloat to convert the `22px` to `22`.
}
不,你不能从CSS中读取任何属性。
你可以创建一些后端API,允许你直接从JavaScript更改CSS文件,然后你可以在CSS文件中更改height
,而不是将style
应用于元素
相关文章:
- $rootScope未使用forEach进行更新
- 无法在现有状态转换期间更新-未使用任何非法的setState()
- 角度控制器未使用OcLazyLoad和ngRoute加载
- 绑定到 x 可编辑的成功函数未使用正确的参数执行
- 使用jQuery将单击绑定到页面中未使用的部分
- 未使用Javascript在IE中设置Cookie
- 当知道同一hiearch中至少有一个元素时,遍历到元素.结构使用jquery
- 在多个元素上使用jquery插件,只需稍作修改
- Ionic:AngularJS变量未使用$scope更新DOM
- 元素未使用当前玩家操作进行更新
- 将方法从控制器注入到未使用右变量调用的指令
- LinkedIn共享链接图片未使用自定义url更新
- 地图视图未使用PhoneGap加载
- 组件未使用ReactJS和React Router进行渲染
- 表单未使用 MVC 提交任何值 Asp.Net
- 动态 SVG 元素未正确使用遮罩
- appendTo自定义元素未使用自动完成进行更新
- 使用Javascript/jQuery添加的动态表单元素未被张贴
- 列为未定义的JSON对象元素(在使用`jQuery.parseJSON()`之前和之后都进行了测试)
- Css:如何访问元素未使用的值