javascript - 无法访问 "filter"属性

标签 javascript html css

<分区>

不知何故,我无法访问我的图像标签应用的过滤器属性。我有一个设置过滤器属性的页面。即,将亮度设置为 200%,应用图像滤镜亮度为 200%。

用于读取输入/设置过滤器值的 JavaScript 代码。在 CSS 中:

img { filter: blur(var(--blur)) grayscale(var(--grayscale)) brightness(var(--brightness)) contrast(var(--contrast)) hue-rotate(var(--hue)) invert(var(--inv)) opacity(var(--opa)) saturate(var(--sat)) sepia(var(--sepia)); }

一切正常。图像随着我的输入而变化。但不知何故,我根本无法读取样式属性。

console.log(document.querySelector("img").style.filter);

.style

当我这样做时,它显示null(无)...html 文件中只有一个img 标签()。我想知道为什么我无法读取过滤器属性。

最佳答案

这是因为 style属性仅在 HTML 标记的 style 中显示内联样式属性,而不是来自任何样式表或 <style> 的 CSS标签。

为了从样式表中获取样式,您必须使用 window.getComputedStyle 。 :

window.getComputedStyle(document.querySelector("img")).filter

关于javascript - 无法访问 "filter"属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42083306/

上一篇:javascript - 在函数参数中传递的对象引用

下一篇:javascript - 在大屏幕上将 n-div 并排放置,在小屏幕上将一个放置在彼此下方

相关文章:

javascript - 修复弹出框并使背景滚动

Javascript - 游戏侧面碰撞(从下到上)

javascript - 如何在同一元素上的 'click' 和 'double click' 上调用单独的函数

javascript - 根据单选按钮选择更改值和链接

javascript - Jquery 从选择框中隐藏/显示 div 不起作用,我不明白为什么?

javascript - 表单已验证但未发送电子邮件

css - 为什么css定义区域被锁了? (css3/标签式)

javascript - 使用 Bootstrap 模式防止 OSX Chrome 上的页面跳转

javascript - 当我将值传递给数组时获取空数据

css - 在 CSS 的类中选择类型元素