JS设置组件的隐藏与显示的两种方法
style.display
var ui =document.getElementById("img");
ui.style.display="none";
var ui =document.getElementById("img");
ui.style.display="";//一般不使用block而是直接为空
style.visibility
var ui =document.getElementById("img");
ui.style.visibility="hidden";
var ui =document.getElementById("img");
ui.style.visibility="visible";
我遇到的bug
上面的代码大家也看到了,找到组件用的都是getById
我用的是class
但是,要注意,如果用
var ui =document.getElementsByClassName("img");
ui[0].style.visibility="visible";
getByClassName返回的是一个伪数组,这个挺重要的,哪怕document只有一个元素,返回也是一个伪数组,所以我们使用这个隐藏和显示的方法的时候,要加上下标索引。
解决办法与完全之策
解决办法就是class[0],这样,当然,完全之策就是需要用到重要组件都给一个id,id是不可以重复的!!!