JavaScript可见性不起作用('隐藏'工作,'可见'不工作)

时间:2012-09-03 11:55:48

标签: javascript visibility bpm

我正在使用Lombardi Teamworks BPM工具开发解决方案。该工具本身会生成客户端源代码,但我可以使用JavaScript输入代码,例如为组合框添加onChange代码..

无论如何,我有一个按钮,我可以尝试使用JavaScript进行切换。我可以使用hidden隐藏按钮,但我无法使用visible取消隐藏按钮。

这里是完整的代码:

var eleBtnVisibilityTest = document.getElementById("btnVisibilityTest");
if (eleBtnVisibilityTest== null) {
            eleBtnVisibilityTest = document.getElementsByName("btnVisibilityTest");
}

alert("-->"+eleBtnVisibilityTest.style.visibility+"<--");

eleBtnVisibilityTest.style.visibility = "visible";

alert("-->"+eleBtnVisibilityTest.style.visibility+"<--");

在倒数第二行,我将按钮设置为visible,但它无法正常工作......但是,如果此按钮以前是可见的,那么我在这里写了hidden,它会工作。

对于这两种情况,在之前的警告设置可见性时,弹出窗口显示--><-- ..在弹出之后设置可见性,它是-->visible<---->hidden<-- ..

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

尝试使用CSS显示属性:

display: block;
display:none;

答案 1 :(得分:0)

document.getElementsByName返回NodeList,您必须从该列表中选择一个项目:

var eleBtnVisibilityTest = document.getElementById("btnVisibilityTest");
if (eleBtnVisibilityTest== null) {
            eleBtnVisibilityTest = document.getElementsByName("btnVisibilityTest")[0];
}

但是,当设置隐藏作品的可见性时,这实际上不是问题。

您应该提供更多详细信息,因为您的代码与getElementById一起使用时可以使用 http://jsfiddle.net/doktormolle/4mhBk/

答案 2 :(得分:0)

不确定你的意思“但它不起作用” - 你的意思是按钮保持隐形吗?

可能是按钮被CSS visibility属性以外的其他方式隐藏。也许它也有display: none?在这种情况下,设置visibility属性不会使按钮变为可见。使用Chrome检查员等工具检查是否属于这种情况。

在JSFiddle上发布代码片段,以便我们可以看到代码在运行中。