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

Add class if hash value exists in page URL

本文关键字:添加 哈希值 存在 URL 如果      更新时间:2023-09-26

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

<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>

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

问题是您的代码在 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 这里