javascript - 如何用 JavaScript 改变虚拟元素?

标签 javascript

如何使用 JavaScript 更改虚拟元素的属性?

div#div1::before {
    filter: blur(4px);
}

我想用 JavaScript 改变上面代码中的模糊效果。

最佳答案

如果您希望更改标准 css 类属性,只需使用 document.getElementById(id).style.property = new style,它可以在多个文档中找到,例如 here .

document.getElementById(yourId).style.filter = blur(20px);

按类别选择时功能类似。

如果您之前希望直接访问 css 伪类,可以通过将 style 元素添加到 DOM 元素然后操纵它的值来解决。感谢@RickHitchcock 修复语法

var cssChange = document.createElement('style');
cssChange.innerHTML= '#div::before {filter: 20px;}';
document.selector.appendChild(cssChange );

另一个通常更简洁的选项是在您的 CSS 表中添加一个类:

.some-class:before {
    filter: blur(20px) !important;
}

然后通过JS添加你的类

document.selector.addClass('some-class');

请记住,使用 !important 标签添加多个这样的类来覆盖 CSS 也会变得困惑。

关于javascript - 如何用 JavaScript 改变虚拟元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31769031/

相关文章:

javascript - 将 select2 插件与 Ember cli 一起使用

javascript - 我正在尝试使用 "Rick and Morty"REST API 在屏幕上呈现名称,但实际上没有任何内容呈现,并且我的状态没有更新

javascript - 如何在 JavaScript 中的列表中添加多个条目

javascript - 为什么这款荧光笔并不总是有效?

javascript - 获取多个下拉列表的值并使用 javascript 比较每个下拉列表

javascript - Node.js 发送后无法设置 header 引入 res.render() 后出现错误

javascript - 为什么悬停时我的下拉菜单不显示?

javascript - 这个 javascript 片段实际上是什么意思?

javascript - 从 Azure 存储获取 blob 时出错(HTTP 请求)[VueJs]

javascript - 如何将 HTML 元素准确定位到您想要的位置?