最近遇到一个需求,需要动态修改网页某个元素的属性,具体来说就是灰度值。我用的是uniapp这个框架,一开始我使用百度搜“js 控制style里的数值大小”,然后找到下面这样的解决方案:
document.getElementById("resume").style.filter="grayscale(100%)"
但奇怪的是,这个方案在hbuilder的内置浏览器里运行的好好的,一旦运行在真实的手机上,就会报错,错误如下:
Cannot read property 'getElementById' of undefined
由于本人功力尚浅,不知道这到底是怎么一回事,问过度娘也没找到想要的答案。于是只能把上面的解决方案废弃,寻找其他的方案。
最后皇天不负有心人,还是被我找到了。代码如下:
<view id="diploma" class="f-header m-t" @click="showDiploma" :style="{filter: diplomaGray}">
...
diplomaGray: 'grayscale(100%)'
这样在js代码里只需要修改变量diplomaGray的值就能达到修改对应网页元素的属性的目的了。
(全文完)