JavaScript getElementById仅定位一页

时间:2012-11-15 18:20:34

标签: javascript-events

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

我不明白为什么我能够在我的“联系”页面上影响我的h1标题“Chris Mazzochi Web Designs”,其ID为“品牌”,但在其他3个页面上相同的h1具有相同的id。那些不受影响的页面是“主页”,“关于”和“投资组合”页面。我听说人们建议使用getElementByClassName,但是getElementById适用于我已经定位的所有其他元素。

总而言之,getElementById只定位了一个页面的一个元素id,并且其他三个页面上具有相同id的相同元素不受影响。为什么?

请帮助JavaScript向导。我将不胜感激。 谢谢, 克里斯

2 个答案:

答案 0 :(得分: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;}

答案 1 :(得分:0)

问题不在于您无法有效地使用document.getElementById('brand'),问题在于,当您编写代码时,该代码永远不会被执行。

在到达返回null的document.getElementById('fieldset')之前。然后我们使用它的结果来执行函数,这会导致错误,因为你无法在null上执行函数。

由于导致此错误,将跳过脚本的其余部分,并且不会发生带有品牌ID的位...

由于您已经提到过使用Firebug,我会假设您已经知道错误,所以我们将答案为“错误导致脚本的其余部分无法执行”。人们也可能会注意到,并非总是会发生这种情况。当事件中发生错误时,只有该事件的其余部分不会被执行,而在正常执行脚本期间发生错误时,将跳过整个脚本的其余部分。