Salesforce的reRender在含有rendered属性的对象上无效的问题

在Salesforce中,如果仅仅使用reRender对象的rendered属性来实现对象的显示・隐藏的话,将不会起作用。
如以下示例代码所示。

个人认为,reRender将会在AJAX请求完成后,对对象DOM节点进行重置而不是替换。这意味着我们可以重置对象DOM节点下的子元素以及其html属性,但无法删除对象DOM节点本身。
因此在此种情况下,解决方案可以为两种(或许有更多):把reRender对象作为子元素,或者靠Style属性去实现

方案 1 : reRender对象作为子元素


方案 2 : Style属性中的变量实现