0

ここにすべてを貼り付けるのではなく、Firebug を介してコードにアクセスできる私の Web サイトへのリンクを次に示します。www.chrismazzochi.com

「連絡先」ページで ID「ブランド」の h1 見出し「Chris Mazzochi Web Designs」に影響を与えることができるのに、同じ ID の同じ h1 を持つ他の 3 つのページに影響を与えられない理由がわかりません。影響を受けないページは、「ホーム」、「概要」、および「ポートフォリオ」ページです。getElementByClassName の使用が推奨されていると聞いたことがありますが、getElementById は私が対象としている他のすべての要素に対して機能しています。

つまり、1 つのページの 1 つの要素 ID のみが getElementById の対象となり、他の 3 つのページの同じ ID を持つ同じ要素は影響を受けません。なんで?

JavaScript ウィザードを助けてください。大変ありがたく存じます。ありがとう、クリス

4

2 に答える 2

1

ここにある JavaScript コードのこのセクション全体が、色の「切り替え」です。

var myAside = document.getElementById ("brand");
myAside.onmouseout = function () {  
document.getElementById("brand").style.color = "blue";
//alert ("You're awesome!");}

で簡単に達成できます

#wrapper nav a:hover {
    color: blue;}
于 2012-11-15T18:30:53.037 に答える
0

問題は、効果的に使用できないことではありません。問題は、それを行うdocument.getElementById('brand')コードを作成している間、そのコードが実行されないことです。

document.getElementById('fieldset')null を返す に到達する前に。次に、その結​​果を使用して関数を実行しますが、null に対して関数を実行できないため、エラーが発生します。

このエラーが発生すると、残りのスクリプトはスキップされ、id としてのブランドのビットは発生しません...

すでに Firebug の使用について言及されているので、エラーについてはご存知だと思いますので、「エラーによりスクリプトの残りの部分が実行されない」という回答をさせていただきます。また、これが常に起こるとは限らないことに気付くかもしれません。イベントでエラーが発生すると、そのイベントの残りの部分だけが実行されませんが、スクリプトの通常の実行中にエラーが発生すると、残りのスクリプト全体がスキップされます。

于 2012-11-15T18:30:20.807 に答える