html中函数不起作用 ,想实现点击按钮显示对应内容

问题描述:


<li οnclick=show1()>
                <a class="img"><img src="images/icon1.png"><span>门诊信息管理</span></a>
                </li>
                <li οnclick=show2()>
                <a class="img"><img src="images/icon2.png"><span>实验室信息管理</span></a>
                </li>
                <li οnclick=show3()>
                <a class="img"><img src="images/icon3.png"><span>检验信息管理</span></a>
                </li>
                <li>


<div class="Aboxa 1">
            <div class="h6">门诊信息管理系统</div>
            <div class="p"></div>
            <div class="images"><p><img src=""></p></div>
            </div>
            <div class="Aboxa 2">
                <div class="h6">实验室信息管理系统</div>
                <div class="p"></div>
                <div class="images"><p><img src=""></p></div>
                </div>
            <div class="Aboxa 3">
                <div class="h6">检验信息管理系统</div>
                <div class="p"></div>
                <div class="images"><p><img src=""></p></div>
                </div>
        </div>



<script>
     function show1(){
        document.getElementsByClassName("Abox 1").style.display="block";
        document.getElementsByClassName("Abox 2").style.display="none";
        document.getElementsByClassName("Abox 3").style.display="none";
    }

    function show2(){
        document.getElementsByClassName("Abox 1").style.display="none";
        document.getElementsByClassName("Abox 2").style.display="block";
        document.getElementsByClassName("Abox 3").style.display="none";

    }
    function show3(){
        document.getElementsByClassName("Abox 1").style.display="none";
        document.getElementsByClassName("Abox 2").style.display="none";
        document.getElementsByClassName("Abox 3").style.display="block";
    }
</script>

想要实现点击

  • 里的内容显示对应介绍,以上代码请问哪里有问题?

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <button id="c" onclick="show1()">
        <a class="img"><img src="images/icon1.png"><span>门诊信息管理</span></a>
    </button>
    <button id="b" onclick="show2()">
        <a class="img"><img src="images/icon2.png"><span>实验室信息管理</span></a>
    </button>
    <button onclick="show3()">
        <a class="img"><img src="images/icon3.png"><span>检验信息管理</span></a>
    </button>
    <li>

        <div class="Aboxa 1">
            <div class="h6">门诊信息管理系统</div>
            <div class="p"></div>
            <div class="images">
                <p><img src=""></p>
            </div>
        </div>
        <div class="Aboxa 2">
            <div class="h6">实验室信息管理系统</div>
            <div class="p"></div>
            <div class="images">
                <p><img src=""></p>
            </div>
        </div>
        <div class="Aboxa 3">
            <div class="h6">检验信息管理系统</div>
            <div class="p"></div>
            <div class="images">
                <p><img src=""></p>
            </div>
        </div>
        </div>

        <script>
            function show1() {
                document.getElementsByClassName("Aboxa 1")[0].style.display = "block";
                document.getElementsByClassName("Aboxa 2")[0].style.display = "none";
                document.getElementsByClassName("Aboxa 3")[0].style.display = "none";
            }
            function show2() {
                document.getElementsByClassName("Aboxa 1")[0].style.display = "none";
                document.getElementsByClassName("Aboxa 2")[0].style.display = "block";
                document.getElementsByClassName("Aboxa 3")[0].style.display = "none";
            }
            function show3() {
                document.getElementsByClassName("Aboxa 1")[0].style.display = "none";
                document.getElementsByClassName("Aboxa 2")[0].style.display = "none";
                document.getElementsByClassName("Aboxa 3")[0].style.display = "block";
            }
        </script>
</body>

</html>

1.li标签没有onclick属性
2.getElementsByClassName是个多选的选择器方法,返回的结果是数组
3.你选择器的里面的类名写错了

li标签是不能响应onclick事件的,所以可以用div来代替。


<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
     <div>
            <div class="liDiv">
               <a class="img"><img src="images/icon1.png"><span>门诊信息管理</span></a>
            </div>
            <div class="liDiv">
                <a class="img"><img src="images/icon2.png"><span>实验室信息管理</span></a>
            </div>
            <div class="liDiv">
                <a class="img"><img src="images/icon3.png"><span>检验信息管理</span></a>
            </div>
     </div>
     <script type="text/javascript">
        for(var i=0;i<document.getElementsByClassName("liDiv").length;i++)
        {
            document.getElementsByClassName("liDiv")[i].addEventListener("click",clickHandler);
        }
        function clickHandler()
        {
            alert(event.target.innerText);
        }
     </script>
    </body>
</html>

把on去掉 ,click="show3()"

还有个问题,你的onclick的on编码不正确