javascript - 使用javascript将css类添加到使用javascript实现的 header

标签 javascript jquery html css

我正在开发一个包含许多 html 文件的网站,最近我开始使用单独的页眉和页脚 html 文件,以便通过在我的页面上使用 javascript 实现它们来节省时间。现在的问题是所有页眉和页脚看起来都一样,而在使用这种方便的技术之前,我根据您所在的页面突出显示了页面(这是通过手动将类添加到不同的 <a> 标签来完成的,具体取决于页面的内容(html 文件)是),但现在我找不到定位特定 <a> 的方法这将只针对特定的 html 来更改它的 css。代码看起来像这样: HTML 主页.html:

  <div id="header"></div>

HTML header.html:

  <ul>
  <li id="LI_56">
              <a href="pages/home.html" id="A_57">Home</a>
  </li> 
  </ul> 

Javascript 看起来像这样:

$(function(){
  $("#header").load("header.html"); 
  $("#footer").load("footer.html"); 
});

CSS 看起来像这样:

.home{
background-color:red;
}

我尝试做的是:

          <script>
          $( document ).ready(function() {
          document.getElementById('A_57').className = 'home';
          }); 
          </script>

但我收到错误:“TypeError: document.getElementById(...) is null”。当 header 已经在我的 home.html 中并且不是由 javascript 实现时,一切正常,但这不是一个选择。希望有人知道解决方案。为每个 html 使用不同的 css 文件显然也不是一个选项 - 它应该尽可能直接和开发人员友好(聪明和懒惰)! :) 提前致谢!

最佳答案

在“完成”回调中设置类名,此回调在执行后处理和 HTML 插入后执行:

$(function(){
  $("#header").load("header.html", function() {
      document.getElementById('A_57').className = 'home';
  });
  $("#footer").load("footer.html"); 
});

关于javascript - 使用javascript将css类添加到使用javascript实现的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39014777/

相关文章:

javascript - 对象数组未按正确顺序排序

javascript - vue js动态创建组件

php - 验证图像 checkin 更新

jquery - 如何使用 jquery 淡入淡出文本和 css

javascript - 通过 JavaScript 查看上传的数组时遇到问题

javascript - 是否可以隐藏或操纵 jqGrid "sort"图标?

javascript - Angular 圆形svg进度条渐变描边

javascript - 使用 javascript/jquery 在消息上设置时间

html - 水平对齐 div 中的图像

html - 在容器中居中响应式 svg 圆圈