我正在尝试使用动态 XUL 和 Jquery 创建一个 firefox 扩展。当我使用
定义元素时<vbox class="b" id="event" style="display:none"></vbox>
当我尝试
$('.b').show();
命令,它工作正常。
但是,当我尝试使用
定义元素时<vbox class="b" id="event"></vbox>
和另一个 .css 文件中的样式
display:none
并尝试显示使用上面给出的相同 Jquery 代码,它不起作用。
我尝试通过更改一些其他属性来检查相关的 css 文件是否正确附加到元素(检查路径是否正确)并且它工作正常。
在堆栈溢出中的一些帖子中,我尝试使用 Modernizr包含所有 CSS 功能。它显示了我无法显示的 vbox 元素。但它在页面底部提供了所有输出。 使用的 Jquery 版本是 jquery-1.3.2.min.js。 有什么我想念的吗???
最佳答案
问题是,XUL 框元素使用不同的 CSS display
属性值。他们使用专有的 -moz-box
而不是 block
,因为它们必须是灵活的盒子。 Jquery 的 show()
方法设置了 display: block
,这在 XUL 中是有效的,但不完全是。
因此,为了使其正常工作,您应该这样做以显示 XUL 框元素:
myElement.style.display = '-moz-box';
关于Jquery 显示方法在 XUL 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11910776/