Javascript bookmarklet导致页面变为空白
Javascript bookmarklet causes page to go blank
我正在创建一个JavaScript bookmarklet来切换页面上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>
中注入完全相同的代码时,它工作得很好。
这个问题有什么可能的解决办法吗?
它实际上隐藏了元素,但它也紧跟在你的锚点后面(不在任何地方)。您可以返回false或falsy值。我会把它包装在void
中,它将返回undefined,但两者都可以。这是你的密码笔和密码: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>
getElementById('hideme');a.style
我想说是因为浏览器与您的变量名混淆了;
同样,代码是:
getElementById('hideme').style.display.....
相关文章:
- 如何删除多行HTML排列中的空白
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- 不同浏览器中的空白字符正则表达式行为
- Javascript中的空白是什么
- Facebook共享显示一个接一个的空白页面
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 从字符串末尾删除空白无效
- AngularJS ng选项在选择一个选项后删除了默认的空白值
- 当读取文件时,浏览器打开良好,但它是空白浏览器
- 带有显示XML数据的HTML的空白页
- 是一个javascript bookmarklet,可以设置破坏跨域安全的域cookie
- 如何排除此正则表达式中的空白匹配项
- 删除LINES开头和结尾的空白
- bookmarklet中的jQuery.getScript()进行回调,但没有成功执行插件
- 尝试使用ng重复时出现空白屏幕
- ajax给出空白响应
- IE 9压缩XML DOM中的空白空间
- 谷歌图表显示空白白色页面
- javascript 显示空白灰色层
- Javascript bookmarklet导致页面变为空白