我正在创建一个JavaScript书签来切换页面上HTML元素的可见性,但似乎只是隐藏元素很麻烦:
http://codepen.io/anon/pen/HtkzL
代码:
<div id="hideme">
<p>I am a div that needs to be hidden</p>
</div>
<p>I am a paragraph that doesn't need to be hid.</p>
<blockquote>
I am a blockquote that the whole world must see
</blockquote>
<a href="javascript:var a=document.getElementById('hideme');a.style.display='none';">Click me to hide the div.</a>
发生的事情是点击每个锚点链接,整个页面变成空白并显示“无”。
当我在JS控制台的<a> ... </a>
中注入完全相同的代码时,它可以正常工作。
对此问题有任何可能的解决方法吗?
答案 0 :(得分:1)
它实际上是隐藏了元素,但它也跟随你的锚点(无处)。您可以返回false或false值。我将它包装在void
中,它将返回undefined,但两者都可以。这是您的codepen和代码:http://codepen.io/anon/pen/dsgKk
<a href="javascript:void(function(){ var a = document.getElementById('hideme'); a.style.display='none'; })();">Click me to hide the div.</a>
(这也可以,但不太干净,imo):
<a href="javascript:var a=document.getElementById('hideme'); a.style.display='none'; return false;">Click me to hide the div.</a>
答案 1 :(得分:-1)
getElementById('hideme');a.style
我要说,因为浏览器与你的变量名混淆了;
此外,代码将是:
getElementById('hideme').style.display.....