1

我正在尝试使用动态 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文件是否正确附加了元素(检查路径是否正确)并且它工作正常。

在堆栈溢出中的一些帖子中,我尝试使用包含所有 css 功能的Modernizr 。它显示了我无法显示的 vbox 元素。但它在页面底部提供了所有输出。使用的 jquery 版本是 jquery-1.3.2.min.js。有什么我想念的???

4

1 回答 1

1

问题是,XUL 框元素使用不同的 CSSdisplay属性值。他们使用专有-moz-box而不是block,因为它们必须是灵活的盒子。Jquery 的show()方法 sets display: block,哪种在 XUL 中有效,但不完全。

因此,要使其正常工作,您应该这样做以显示 XUL 框元素:

myElement.style.display = '-moz-box';
于 2012-08-12T18:22:01.247 回答