Javascript JS切换(显示)文本是最简单的方式

Javascript JS切换(显示)文本是最简单的方式,javascript,html,css,toggle,Javascript,Html,Css,Toggle,我正在尝试切换以下一种方式更改文本的可见性(显示)。这不管用,但应该管用 此处的HTML代码: <a href="#" onclick="toggle_visibility('foo');">Click here to toggle visibility of element #foo</a> <div id="foo">This is foo</div> function toggle_visibility(id) { var e = d

我正在尝试切换以下一种方式更改文本的可见性(显示)。这不管用,但应该管用

此处的HTML代码:

<a href="#" onclick="toggle_visibility('foo');">Click here to toggle visibility of element #foo</a>
<div id="foo">This is foo</div>
function toggle_visibility(id) {
   var e = document.getElementById(id);
   if(e.style.display == 'block')
      e.style.display = 'none';
   else
      e.style.display = 'block';
}
(源代码) )


更换时解决:

function toggle_visibility(id) {
作者:

(感谢扎卡里亚·阿查基)

原因是可见的变量区域,在第一种情况下是-JSFiddle-extern-libraries设置(在设置了no-library之后,您需要设置“no-wrap-in-head”)。 正如amit.rk3在这里所说的,类似的主题


这里的证明(js和html代码没有更改,只有“无换行符”设置)

更新您的函数声明,请参阅:


您需要设置div元素的初始CSS显示值(默认设置为block,但JS无法访问)

功能切换\u可见性(id){
var e=document.getElementById(id);
如果(e.style.display=='block')
e、 style.display='none';
其他的
e、 style.display='block';
}


这是foo
重复的“我正在尝试切换以下一种方式更改文本的可见性(显示)”,这是什么“下一种方式”?@Amit.rk3这不是您提供的链接的问题的重复@SudhansuChoudhary OP更新了问题。检查他贴的第一把小提琴。你能解释一下为什么第一次点击就不起作用吗?函数的声明是如何解决这个问题的?在这里,我将尝试找到关于两次单击的答案。声明的原因是什么?这里有一些信息‌​leHi bro看一看,这可能会对您有所帮助。如果没有取消故障选项“no wrap in head”,同样的代码在JSFIDLE中无法工作,这就是原因和比较。但是如果您从这个代码段示例中删除“style=”display:block;,会怎么样。这样行吗?
toggle_visibility = function(id) {
toggle_visibility = function(id) {
   var e = document.getElementById(id);
   if(e.style.display == 'block')
      e.style.display = 'none';
   else
      e.style.display = 'block';
}