我使用以下代码隐藏或显示一个字段:
显示元素:
style.set(dojo.byId('fTypeId'), 'display', 'block');
隐藏元素:
style.set(dojo.byId('fTypeId'), 'display', 'none');
如何测试此元素是否正在显示?
检查方法的问题style['display']
是您的元素可能仍然被隐藏,即使它的“显示”属性未设置为“无”。例如,“可见性”可能是“隐藏”,“高度”可能是“0”,元素可能被另一个元素遮挡等等。根据我的经验,检查元素的高度而不是显示更可靠。例如:
var isVisible = document.getElementById("myElem").offsetHeight != 0;
这个测试还有一个额外的好处,它不依赖于任何框架......
尝试 :
require(["dojo/dom-style"], function(domStyle){
var isVisible = (domStyle.get("yourNodeId", "display") !== "none");
});