如何使用Javascript获取pageblock元素?

时间:2013-03-01 18:22:40

标签: salesforce apex-code visualforce

我想更改visualforce页面的DOM。那么如何使用Javascript获取pageblock元素呢?

<apex:page>

<apex:pageblock title="Filter" id="block">

</apex:pageblock>

</apex:page>

谢谢

2 个答案:

答案 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