show
show(element) -> HTMLElement
显示 element
,并返回元素本身。
样例
<div id="error-message" style="display:none;"></div>
$('error-message').show();
// -> HTMLElement (如果 div#error-message 隐藏,则显示)
注意
Element.show
不能 显示通过 CSS 样式表隐藏的元素。这不是 Prototype 的限制,而是与 CSS
display
属性的解析过程有关。
译注:通过在 <style> 标签或外部样式表中定义 CSS 属性来隐藏元素,show
方法将不可用
(即该方法只针对内联的 CSS display
属性或通过 Javascript 程序实现的隐藏有效)。
<style>
#hidden-by-css { display: none; }
</style>
[…]
<div id="hidden-by-css"></div>
$('hidden-by-css').show(); // 不工作
// -> HTMLElement(div#error-message 仍然是隐藏的)
后向兼容性变更
在 Prototype 的先前版本中,可以传递任意数目的元素到 Element.toggle
、Element.show
和 Element.hide
中,但在 1.5 版之后,这不再被支持。
但是你可以通过 Enumerables 实现类似的效果:
['content', 'navigation', 'footer'].each(Element.show);
// -> ['content', 'navigation', 'footer']
// 并显示 #content, #navigation 和 #footer。
还有更好的方法:
$('content', 'navigation', 'footer').invoke('show');
// -> [HTMLElement, HTMLElement, HTMLElement] (#content, #navigation 和 #footer)
// 并显示 #content, #navigation 和 #footer。