3

我使用以下代码隐藏或显示一个字段:

显示元素:

style.set(dojo.byId('fTypeId'), 'display', 'block');

隐藏元素:

style.set(dojo.byId('fTypeId'), 'display', 'none');

如何测试此元素是否正在显示?

4

2 回答 2

16

检查方法的问题style['display']是您的元素可能仍然被隐藏,即使它的“显示”属性未设置为“无”。例如,“可见性”可能是“隐藏”,“高度”可能是“0”,元素可能被另一个元素遮挡等等。根据我的经验,检查元素的高度而不是显示更可靠。例如:

var isVisible = document.getElementById("myElem").offsetHeight != 0;

这个测试还有一个额外的好处,它不依赖于任何框架......

于 2013-09-24T09:21:35.153 回答
2

尝试 :

require(["dojo/dom-style"], function(domStyle){
    var isVisible = (domStyle.get("yourNodeId", "display") !== "none");
});
于 2013-07-08T17:11:29.977 回答