我想更改visualforce页面的DOM。那么如何使用Javascript获取pageblock元素呢?
<apex:page>
<apex:pageblock title="Filter" id="block">
</apex:pageblock>
</apex:page>
谢谢
答案 0 :(得分:1)
这是一个关于如何访问它的jquery示例:
$("*[id$=block]");
这将返回一个jquery对象,您可以使用jquery进一步使用,或者调用
$("*[id$=block]").get(0);
获取底层DOM元素。
如果您使用普通的Javascript,则必须查看生成的HTML以找出完整ID的内容。使用DOM来获取元素:
document.getElementById("j54:j01:block"); // the Id is made up, but it will be at least as ugly as this
jQuery的$=
操作减轻了对此的需求。直接DOM解决方案不可靠,因为如果您更改pageBlock所在的位置,生成的ID将会更改。换句话说,pageBlock的祖先中的任何更改都将导致Id更改。
答案 1 :(得分:1)
在JavaScript中引用组件的受支持方式是使用$Component
,例如使用{!$Component.idName}
来获取<apex:outputPanel id="idName">
生成的HTML元素的DOM ID。
http://www.salesforce.com/us/developer/docs/pages/Content/pages_access.htm