多くのhtmlファイルを含むウェブサイトを開発しています。最近、別々のヘッダーとフッターのhtmlファイルを使用してJavaScriptを使用して時間を節約しています。この問題を解決するには、ヘッダーとフッターはすべて同じように見えますが、この便利なテクニックを使用する前に、ページに応じてハイライトされたページがありました(これは、手動でページを追加することによって行われました。<a>
タグファイル)それは)ですが、今私は具体的なHTMLをターゲットにすることだけを対象とする特定の<a>
をターゲットにする方法を見つけることができません。コードは次のようになります。 HTMLのhome.html:javascriptを使用してJavaScriptを使用してCSSクラスを追加する(
<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(...)がnullです"。ヘッダーがすでに私のhome.htmlにあり、javascriptで実装されていない場合、すべて正常に動作しますが、それはオプションではありません。誰もが解決策を知っていることを願っています。各HTMLに異なるCSSファイルを使用することも、明らかにオプションではありません。できるだけストレートでデベロッパーフレンドリー(スマート&怠惰)でなければなりません! :) 前もって感謝します!
はたぶん、あなたは前にJavaScript関数を発射しようとしています1つをロードしますか? –
機能は負荷1の後に起動する必要がありますが、明らかに反対が発生します。私はすでに解決策を持っていますが、私はより効果的なものを望んでいました。 – Mkey