这是我网站的链接,您可以通过Firebug访问代码,而不是将其全部粘贴到此处。 www.chrismazzochi.com
我不明白为什么我能够在我的“联系”页面上影响我的h1标题“Chris Mazzochi Web Designs”,其ID为“品牌”,但不在其他3个页面上相同的h1具有相同的id。那些不受影响的页面是“主页”,“关于”和“投资组合”页面。我听说人们建议使用getElementByClassName,但是getElementById适用于我已经定位的所有其他元素。
总而言之,getElementById只定位了一个页面的一个元素id,并且其他三个页面上具有相同id的相同元素不受影响。为什么?
请帮助JavaScript向导。我将不胜感激。 谢谢, 克里斯
答案 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,我会假设您已经知道错误,所以我们将答案为“错误导致脚本的其余部分无法执行”。人们也可能会注意到,并非总是会发生这种情况。当事件中发生错误时,只有该事件的其余部分不会被执行,而在正常执行脚本期间发生错误时,将跳过整个脚本的其余部分。