getElementsByClassName不能触发事件,请教

<div class="h5-header">
<header class="m-header" style="display:block">
<a class="icon logo"></a>
<a href="#" class="title">标题</a>
<a href="javascript:void(0);" οnclick="change()" class="icon search"></a>
<a class="icon nologin"></a>
<a class="icon nav"></a>
</header>

<header class="x-search-panel" style="display:none">
<div class="x-search">
    <div class="searchbox">
        <form action="javascript:void(0);">
            <input type="search" value="">
        </form>
        <a href="javascript:void(0);" οnclick="change()" class="cancle">取消</a>
    </div>
</div>
<div class="toast">
</div>
</header>
</div>
<div style="height:199px;background-color:#eee;">占位</div>

<script type="text/javascript">
    var header = document.getElementsByClassName("m-header")[0];
    var search = document.getElementsByClassName('x-search-panel')[0];

    function change() {
        if (search.style.display == 'none') {
            header.style.display = 'none';
            search.style.display = 'block';
        } else {
            header.style.display = 'none';
        }
    }
</script>
阅读 2.5k
2 个回答

我试了一下, 是因为你的输入法有问题, 我重新输入'click'就可以点击了
虽然长得一样, 但是本质是不同的
6E8633A4-B002-43D3-AC70-7C7A9F0A924A.png
EB16E10D-DA0B-421C-ABB1-CC54867C2C01.png

你所有 onclick 里的 o 都是 U+03BF(GREEK SMALL LETTER OMICRON),而不是英文字母 o (U+006F, LATIN SMALL LETTER O)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题