[英]Hiding a div when link is clicked
我正在尝试创建一些文本的div。 然后,下面是一个链接,当单击div时应隐藏。 这只能是Java脚本,即没有Jquery
请参阅下面的尝试。是否可以在元素内部以某种方式进行操作? 我必须在JD脚本中创建一个函数吗?
<div id="text">
Lorem Ipsum blablal b blablaba balbla bla.
</div>
<a href="#" onclick="document.getElementById('text').hidden">Click me to hide the div</a>
您可以使用以下内容:
<a href="#" onclick="document.getElementById('text').style.display = 'none'">...</a>
另外,如果您想使用不干扰JavaScript的代码,则可以在链接中添加id
来使用。
document.getElementById('link').addEventListener('click',function(){
document.getElementById('text').style.display = 'none';
});
上面的示例使用display:none
隐藏了链接。 如果您希望删除该元素:
document.getElementById('link').addEventListener('click',function(){
document.getElementById('text').remove();
});
如果要切换可见性并隐藏/显示元素,可以使用.classList.toggle()
。
document.getElementById('link').addEventListener('click',function(e){
document.getElementById('text').classList.toggle('hidden');
});
的CSS
.hidden {
display:none;
}
只需考虑此方法的支持即可 。
使用此代码,您可以隐藏/显示div主题,而不必添加任何<script>
标记或JavaScript库。
<div id="text" style="display: block">
Lorem Ipsum blablal b blablaba balbla bla.
</div>
<a href="#" onclick="document.getElementById('text').style.display === 'block' ? document.getElementById('text').style.display = 'none' : document.getElementById('text').style.display = 'block'">Click me to hide the div</a>
josh是正确的,只需向addEventListener添加第三个参数为false即可在冒泡阶段捕获事件
document.getElementById('link').addEventListener('click',function(){
document.getElementById('text').style.display = 'none';
}, false);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.