如何使用JavaScript更改虚拟元素?
如何使用JavaScript更改虚拟元素的属性如何使用JavaScript更改虚拟元素?,javascript,Javascript,如何使用JavaScript更改虚拟元素的属性 div#div1::before { filter: blur(4px); } 我想用JavaScript更改上述代码中的模糊效果。如果您想更改标准css类属性,只需使用document.getElementById(id).style.property=new style,它可以在多个文档中找到,例如 按类进行选择时,功能类似 如果您希望在之前直接访问css伪类,可以通过向DOM元素添加style元素,然后操作其值来解决问题。@Rick
div#div1::before {
filter: blur(4px);
}
我想用JavaScript更改上述代码中的模糊效果。如果您想更改标准css类属性,只需使用
document.getElementById(id).style.property=new style
,它可以在多个文档中找到,例如
按类进行选择时,功能类似
如果您希望在之前直接访问css伪类,可以通过向DOM
元素添加style
元素,然后操作其值来解决问题。@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');
请记住添加多个这样的类!覆盖CSS的重要标记也会变得杂乱无章。我认为您必须为此使用KnockoutJS
有关KnockoutJS的更多信息:任何可以在KnockoutJS中完成的操作都可以在JavaScript中完成。
append
本身无法工作。您需要创建样式
元素,然后将其附加为元素的子元素。示例:谢谢@RickHitchcock,我肯定我在某个地方有一个append的工作示例,但是现在已经晚了,可能是我把语法搞乱了,你的解决方案工作得很好,我编辑了这篇文章,包括了你的建议append
是一个jQuery方法,但是如果你有一个非jQuery示例使用它,我很想看看。
document.selector.addClass('some-class');