标题下方的标签在再次单击时消失,JavaScript不知道为什么
tags underneath headings disappear when clicked again w/ javascript no idea why
我已经粘贴了下面的javascript,但也粘贴了一个指向我的代码笔的链接,以便您可以确切地看到我在说什么。
我希望单击标题并显示下面的文本。 在另一次单击时,我希望文本返回到隐藏状态。 可以同时打开多个标题。我目前的设置正在发生的事情是,您可以单击一次以显示,再次单击以隐藏,然后当您再次单击以显示任何内容时,如果您继续单击下面的文本和标题,则会被吃掉/消失。 我宁愿在没有jquery的情况下这样做。 感谢您的任何帮助。
http://codepen.io/jrutishauser/pen/YPrrNa
var clickToShow = function () {
if (this.nextElementSibling.className === 'open'){
this.nextElementSibling.remove('open');
} else if (this.nextElementSibling.className != 'open') {
this.nextElementSibling.className = 'open';
}
};
var articleHeadings = document.getElementsByTagName('h3');
for (var index = 0; index < articleHeadings.length; index++){
articleHeadings[index].onclick = clickToShow;
}
var subArticleHeadings = document.getElementsByTagName('h4');
for (var index2 = 0; index2 < subArticleHeadings.length; index2++){
subArticleHeadings[index2].onclick = clickToShow;
}
将this.nextElementSibling.remove('open')
更改为this.nextElementSibling.className = ''
。我相信 remove() 方法删除了元素,而不是类。
你也可以
这样做。这是正确的做法。
var clickToShow = function () {
element=this.nextElementSibling;
if (element.className === 'open'){
element.className=element.className.replace('open','');
} else if (element.className != 'open') {
element.className = 'open';
}
};
相关文章:
- JavaScript下拉菜单-部件在Mac上消失
- 静态html中图像之间的空间在javascript中消失
- 单击以调用 JavaScript 函数时,按钮不断消失
- 如何使下拉菜单在一定时间后消失 JavaScript.
- 为什么 Javascript 中的类变量在尝试多次调用它们或将它们分配给局部变量时会消失
- 当实现javascript倒计时时,其他html元素将消失
- Javascript:正在消失的对象属性
- JAVASCRIPT-动画块消失,就像它出现时一样
- 弹出的Javascript会逐渐消失
- javascript form validaton, 验证消息 快速消失.
- Javascript单选按钮验证错误弹出不到一秒钟,但不应消失
- 标题下方的标签在再次单击时消失,JavaScript不知道为什么
- JavaScript输出消失
- Javascript在秒消失时显示DIV元素,并在此之后隐藏栏的选项
- 使用 JavaScript 使表单元素消失
- 如果不在 JavaScript 中单击,如何让圆消失
- 如何使JavaScript对象在单击页面其余部分时消失
- Javascript:选择页面上的所有复选框.它会检查所有内容一秒钟,然后消失
- JavaScript canvas 在更改宽度后消失
- 加载.xml文件中的内容有时会出现在我的网页上,但当我刷新时,它会消失.(JavaScript, jquery, aja