如果页面URL中存在哈希值,则添加类

时间:2015-06-19 10:18:31

标签: javascript

我试图在我的div中添加一个类,如果url中存在哈希值:

<script type="text/javascript">
       if(window.location.hash) {
           alert(window.location.hash);
           $(".pinIt").addClass("pinned");
           $(".hideIt").addClass("hidden");
           $(".changeIt").addClass("changed");
       } else {
           $(".pinIt").removeClass("pinned");
           $(".hideIt").removeClass("hidden");
           $(".changeIt").removeClass("changed");
       }
   </script>

HTML:

<header class="changeIt">
  </header>


  <div class="heading">
    <h1 class="hideIt">Test</h1>
    <h2 class="pinIt">
    </h2>
  </div>

我的脚本显示警报但不添加类。 问题在哪里?

1 个答案:

答案 0 :(得分:2)

问题是你的代码是在pinIt等存在之前运行的。 你需要把它包起来:

$(function(){
    if(window.location.hash) {
        alert(window.location.hash);
        $(".pinIt").addClass("pinned");
        $(".hideIt").addClass("hidden");
        $(".changeIt").addClass("changed");
    } else {
        $(".pinIt").removeClass("pinned");
        $(".hideIt").removeClass("hidden");
        $(".changeIt").removeClass("changed");
    }
});

来自jquery Here的更多信息