在项目中遇到一个问题,用prototype.js的show()方法要设置某个div为display:block , 但总是没法成功,后来查了手册:
http://api.prototypejs.org/dom/Element/show/
Notes
Element.show
cannot display elements hidden via CSS stylesheets. Note that this is not a Prototype limitation but a consequence of how the CSS display
property works.
<style>
#hidden-by-css {
display: none;
}
</style>
[...]
<div id="hidden-by-css"></div>
$('hidden-by-css').show(); // DOES NOT WORK!
// -> Element (div#error-message is still hidden!)
简单解释:如果是使用css文件的样式来隐藏的元素,show()方法无效。
解决方法(这个解决方法是项目的特殊性决定了,因为项目已载入了jquery):
使用jquery的方法:
jQuery('#div_name').show();
就能显示被隐藏的元素了。
在这次调试过程中,发现一直自身prototype的知识结构和实际prototype知识的差别,在这个差别下,错误是必然的。以后要努力调整自身的知识结构,遇到意料之外的结果时应该多做实验,多查手册,以事实为标准,用事实及时调整自身的知识结构,而不是固守自身的知识结构而不愿面对事实。 把构造出来的程序世界和计算机实际的世界结合起来,这个不就是debug的目的吗?
【文章作者】曾健生
【作者邮箱】zengjiansheng1@126.com
【作者QQ】190678908
【作者博客】blog.csdn.net/newjueqi