js隐藏网页元素
获取网页元素
document.getElementsByName("title"); document.getElementsByTagName("title"); document.getElementsByClassName("title");
利用来JS控制页面控件显示和隐藏有两种方法,两种方法分别利用HTML的style中的两个属性,两种方法的不同之处在于控件隐藏后是否还在页面上占空位。
方法一:
document.getElementById("EleId").style.visibility="hidden";
document.getElementById("EleId").style.visibility="visible";
利用上述方法实现隐藏后,页面的位置还被控件占用,显示空白。
方法二:
document.getElementById("EleId").style.display="none";
document.getElementById("EleId").style.display="inline";
利用上述方法实现隐藏后,页面的位置不被占用。
如果是 ByClassNam 或者 ByTagName ,例如
document.getElementsByClassName("title").style.display="none"
会报错:Uncaught TypeError: Cannot set property 'display' of undefined
因为得到的是一个由class="xxx"的所有元素组成的集合,而不是单个元素;集合是没有display属性的,集合中的元素才有display属性。当你试图做 集合.style.display的时候,自然会报错。
正确方法是加上一个下标,
document.getElementsByClassName("title")[0].style.display='none'
或者遍历让集合所有的元素生效
var x=document.getElementsByClassName("title"); for (var i = 0; i<x.length;i++) { x[i].style.display="none"; };