You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript修改元素的backdrop-filter属性

问题原因

你无法通过JS修改backdrop-filter属性的核心原因是属性名拼写不符合JS的style对象命名规则:

  • CSS中带连字符的属性,在JavaScript的元素style对象中需要转换为驼峰命名格式,backdrop-filter对应的正确JS属性名是backdropFilter,你代码中写的全小写backdropfilter缺少了大写的F,属于无效属性名,赋值自然不会生效。

修复后的代码

<html>
<head>
<title>a problem</title>
<style>
 #div {
  width: 120px;
  height: 120px;
  backdrop-filter: blur(0); 
  /* 补充:建议加半透明背景,否则filter效果可能不明显 */
  background: rgba(255,255,255,0.3);
 }
</style>
</head>
<body>
 <div id="div"></div>
</body>
<script>
// 修改属性名为驼峰格式即可生效
document.getElementById("div").style.backdropFilter = "blur(15px)";
</script>
</html>

额外注意点

  • 如果需要兼容旧版本webkit内核浏览器,可以额外加上前缀属性赋值:document.getElementById("div").style.webkitBackdropFilter = "blur(15px)"
  • 要确保目标元素没有设置完全不透明的背景色,否则backdrop-filter的效果会被自身背景遮挡无法观察到。

内容的提问来源于stack exchange,提问作者Mahan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 18:00:01