0

visualforce ページの DOM を変更したいと考えています。では、Javascript で pageblock 要素を取得するにはどうすればよいでしょうか?

<apex:page>

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

</apex:pageblock>

</apex:page>

ありがとうございました

4

2 に答える 2

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の$=操作により、この必要性が軽減されます。pageBlockが存在する場所を変更すると、生成されたIDが変更されるため、直接DOMソリューションの信頼性は低くなります。つまり、pageBlockの祖先を変更すると、IDが変更されます。

于 2013-03-01T18:55:03.303 に答える
1

JavaScript でコンポーネントを参照するためにサポートされている方法は、 を使用することです。$Componentたとえば、 を使用{!$Component.idName}して、 によって生成された HTML 要素の DOM ID を取得します<apex:outputPanel id="idName">

http://www.salesforce.com/us/developer/docs/pages/Content/pages_access.htm

于 2013-03-05T14:34:22.733 に答える