使用Dojo 1.9如何检查元素是否可见?

时间:2013-07-08 16:04:00

标签: dojo hidden visible

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

显示元素:

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

隐藏元素:

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

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

2 个答案:

答案 0 :(得分:16)

检查style['display']的方法存在的问题是,您的元素可能仍然被隐藏,即使它的'display'属性未设置为'none'。例如,'visibility'可以是'hidden','height'可以是'0',元素可以被另一个元素遮挡,依此类推。根据我的经验,检查元素的高度而不是显示更为可靠。例如:

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

此测试具有额外的好处,它不依赖于任何框架...

答案 1 :(得分:2)

尝试:

require(["dojo/dom-style"], function(domStyle){
    var isVisible = (domStyle.get("yourNodeId", "display") !== "none");
});