注册 登录
编程论坛 JavaScript论坛

大哥们,为什么改变display之后一行都能点?

星系隐 发布于 2019-10-30 15:31, 4987 次点击
<html>


<head>
    <meta charset="utf-8">
    <title></title>





    <script type="text/javascript">
        function Show_Hidden(obj) {
            if (obj.style.display == "block") {
                obj.style.display = 'none';
            }
            else {
                obj.style.display = 'block';
            }
        }





    </script>

<style>
    body{color:rgb(0, 0, 0);}


    </style>


</head>


<body>


    <a href="" id="link1" >一&nbsp;&nbsp;&nbsp;1<br><br></a>
   
   

    <a href="" id="link3" style="display:block"  >三&nbsp;&nbsp;&nbsp;3<br><br></a>
   
    <div id="link4" style="display:none">
        四&nbsp;&nbsp;&nbsp;4<br><br>
     </div>

   

    <script type="text/javascript">
        window.onload = function () {
            document.body.style.backgroundColor="black";
            var link1 = document.getElementById("link1");
            link1.style.color="white";
           
         
            var link3 = document.getElementById("link3");
            link3.style.backgroundColor="white";
            var link4 = document.getElementById("link4");
            link4.style.backgroundColor="white";
         
            
            link1.onclick = function () {
               
                Show_Hidden(link3);
               
                return false;
            }
            link3.onclick = function () {
                Show_Hidden(link4);
                return false;
            }
           
            
           
        }
    </script>


</body>

</html>
这里那个 herf   三   3  不写display时背景时只有文本的部分可以点击,直接写display状态,一整行就都可以点击了,加白色背景时为了显示herf的范围..但是就算不写display 的style,我的herf  一   1,点击就会改  herf   三   3  的display状态,然后又是一行都可以点,请问为什么会这样,应该怎么解决?我试了overflow,但是没解决这个问题..
6 回复
#2
星系隐2019-10-30 15:34
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
#3
z11517280422019-10-31 14:11
理解标签的行内元素和块状元素就可以解释了
#4
星系隐2019-11-03 22:56
回复 3楼 z1151728042
谢谢大哥,对我没看清楚display的各种状态,已经解决了,感谢大哥
#5
haoyoul2019-11-12 10:53
我也想知道
我也想知道
#6
zdp1202019-11-13 17:53
学习了,很感谢
#7
星系隐2019-11-14 22:27
我是真小白才会犯这种错,这种情况应该用inline(大部分情况都应该用inline,明确有宽高的div才用block)
1