Javascript ID不变
我正在尝试创建多个部分,并在单击时显示或隐藏它们。所以我有三个Javascript ID不变,javascript,html,css,Javascript,Html,Css,我正在尝试创建多个部分,并在单击时显示或隐藏它们。所以我有三个id:section2,section2hidden,和section2visible 请查看以下位置的非工作代码。点击6年级下的语言艺术链接,然后点击左上角的后退按钮(不在浏览器上!)。您将看到它将元素带回来,但它仍然是不透明度:0或其他东西。当您按下后退按钮时,初始部分仍保持IDsection2hidden。应该将其更改回第2节您的代码在查找不存在的div时似乎正在暂停 document.getElementById('6-2')
id
:section2
,section2hidden
,和section2visible
请查看以下位置的非工作代码。点击6年级下的语言艺术链接,然后点击左上角的后退按钮(不在浏览器上!)。您将看到它将元素带回来,但它仍然是
不透明度:0
或其他东西。当您按下后退按钮时,初始部分仍保持IDsection2hidden
。应该将其更改回第2节您的代码在查找不存在的div时似乎正在暂停
document.getElementById('6-2')
导致错误无法读取null的属性“style”
首先,在开发javascript代码时,需要有一个调试方法。如果您使用的是Firefox,则有一个名为Firebug的插件。如果你使用的是Chrome,它已经集成了。使用它,您将看到“back”函数无法完全执行,因为没有id为“6-2”的元素,并且您正在尝试访问null对象的属性。
这就回答了“为什么失败”的问题。不过,我建议大家看看这些东西:
- 基本功能概念。可以有一个带参数的函数,
而不是构建“一()、二()、三()”等函数李>
- 基本循环编程。您正在使用类似Use循环的代码让机器为您工作,而不是盲目地复制/粘贴
.getElementById('6-1')...
.getElementById('6-2')...
CSS类。只需添加一个类,而不是更改元素的id
对它进行修改(如“隐藏”。然后添加如下规则
.hidden{display:none;}
当您删除该类时,该元素将重新出现,因为该规则将不再适用
链接来来去去。请提供可复制的代码示例。ID标识元素。班级为他们设计风格。您根本不应该更改ID。@Brad+1,这应该更经常地说@丹尼斯:不是每个人都喝同样的饮料。组件化CSS是一个聪明的想法,只要你不过度细化它,但它不会使ID对减少膨胀毫无用处或具有破坏性,膨胀是真正的敌人,而不是特殊性,应该适当地使用它来保持内容更简洁。谢谢,但我是javascript的初学者,我不知道如何使用参数或循环。因此,我添加了其余部分(6-2、6-3等),但仍然不起作用。我如何向元素添加或删除类?添加不透明度:1;到您的#section2visible css规则。关于添加/删除类,请检查以下问题:我不能,因为它将再次播放动画