<分区>
为什么以下不起作用?
JavaScript:
document.getElementById("page").style = "-webkit-filter: blur(5px);";
HTML:
<div id="page" style="" >some content</div>
谢谢
<分区>
为什么以下不起作用?
JavaScript:
document.getElementById("page").style = "-webkit-filter: blur(5px);";
HTML:
<div id="page" style="" >some content</div>
谢谢
最佳答案
确保在元素准备好之后调用它,使用类似window.onload
的东西,或者只是在元素之后将脚本物理地放在页面上......并且设置适当的属性:
window.onload = function () {
document.getElementById("page").style.webkitFilter = "blur(5px)";
};
元素的 style
属性是一个具有您需要设置的属性的对象。您不应该也不能将 style
属性设置为字符串。我在尝试时遇到了 SyntaxError: invalid label
错误。
我知道设置特殊的“-webkit-filter”样式可能会造成混淆,但是“-webkit-”样式遵循 style
对象中的约定 - 没有前导“-”,并将其他“-”替换为驼峰命名法。
与此同时,切换 class
而不是专门设置 style
属性可能更容易和更有效(因此您可以添加其他样式)。所以我建议使用:
document.getElementById("page").className += " transformer";
并定义 CSS 类:
.transformer {
-webkit-filter: blur(5px);
}
这样,如果在其他特定浏览器中实现了样式,只需在此处添加它们就很容易了。具体来说,使用 vendor 前缀。
关于Javascript getelementbyid 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15884731/