获取网页元素

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";
                 };