曾经,我非常羡慕那些人见人爱的人,我也想要变成那样,可是后来我才明白人见人爱也是需要天赋的,后来我开始默默努力,我想,就算我不能让每个人都喜欢我,至少因为我做的努力能得到别人的尊重。

关于display:none;和id特性的一些需要注意的地方

  

关注点一:

  display:none;一旦用于某个元素,那个这个元素在页面中就不再占据位置。

  visibility:hidden;用于某个元素时,这个元素还会占据位置。

 

关注点二:

  即使使用了display:none;只是在dom树中其不再显示了,但是,文件中还有这个元素(废话!)。  

 

关注点三:

   我们知道一旦某一个元素拥有id特性,那么这个id名就会成为全局变量被调用,值得注意的是,这个id只能有一个! 如果一个页面中有两个id,那么我们直接使用id名称并关联事件时,将不再生效(这时可以根据控制台的地址此时的button为undefined)。如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF8">
    <title>获取验证码的倒计时</title>
    <style>
        .first_button{
            background-color: red;
        }
    </style>
</head>
<body>
    <button id="button" class="first_button">这是第一个</button>
    <button id="button">这是第二个</button>
    <script>
        button.onclick = function () {
            alert("d");
        }
    </script>
</body>
</html>
View Code

 

关键点四:

  在上述观点下,我们需要知道,如果使用document.getElementBtId()就可以获取到元素,但永远只能获取到第一个。

关注点五:

   上述代码显然不能alert。但是也别天真地以为只要你将其中一个元素display:none;就可以!!  因为document.getElementById()方法从dom中获取元素中才不会理你的display特性呢! 而是只能获取其中的一个,结果就是还是不行,如下所示:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF8">
    <title>获取验证码的倒计时</title>
    <style>
        .first_button{
            display: none;
        }
    </style>
</head>
<body>
    <button id="button" class="first_button">这是第一个</button>
    <button id="button">这是第二个</button>
    <script>
        var button = document.getElementById("button");
        console.log(button.className);
    </script>
</body>
</html>
View Code

 

总结:如果页面比较复杂,尽量不要直接使用id作为全局变量来调用,以防止出错(即一个都获取不到), document.getElementById还可以获取到一个呢!!

posted @ 2017-02-17 12:51  Wayne-Zhu  阅读(2109)  评论(0编辑  收藏  举报

一分耕耘,一分收获。