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.toggleElement.showElement.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。