0

这是我网站的链接,您可以通过 Firebug 访问代码,而不是将其全部粘贴到此处。www.chrismazzochi.com

我不明白为什么我能够在我的“联系人”页面上影响我的 h1 标题“Chris Mazzochi Web Designs”,id 为“brand”,但不能影响其他 3 个具有相同 h1 和相同 id 的页面。那些不受影响的页面是“主页”、“关于”和“作品集”页面。我听说人们推荐使用 getElementByClassName,但 getElementById 对我所针对的所有其他元素都有效。

总之,getElementById 只针对一个页面的一个元素 id,而其他三个页面上具有相同 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 回答